Matrix bot that generates messages based off of messages of other users using a neural network.
Go to file
array-in-a-matrix 2fcda33cf8 created 2 functions to gen text and train 2022-08-16 01:25:38 -04:00
.gitignore ignore AI related files 2022-08-15 23:38:00 -04:00
LICENSE Initial commit 2022-08-15 00:50:58 -04:00
README.md Update 'README.md' 2022-08-16 00:50:05 -04:00
example.config.json configuration file 2022-08-16 00:39:40 -04:00
index.js cleaned up code 2022-08-16 00:47:38 -04:00
package.json dependencies 2022-08-15 17:17:45 -04:00
pnpm-lock.yaml dependencies 2022-08-15 17:17:45 -04:00
textgen.py created 2 functions to gen text and train 2022-08-16 01:25:38 -04:00

README.md

text-gen-bot

Matrix bot that generates messages based off of messages of other users using a neural network.

Usage

First install the needed libraries. Then copy example.config.json and rename it config.json. Replace the items in angled brackets with their respective values of the bot account (e.g. replace <DOMAIN.TLD> with the homeserver url like https://matrix.org or https://matrix.arrayinamatrix.xyz). An explanation of each configurable string is located in configurations section of this document. To obtain the token of an account follow the instructions here.

Once the config file has been populated with valid data, execute the index.js file (Warning: executing for the first time will be slow.).

$ node index.js
...
<some warnings show up, ignore them>
...
Client has started!
...

Setup

The project is split into 2 parts index.js and textgen.py. The index.js file contains the code that interacts with the user on Matrix and sends text generated by the textgen.py file.

Install JavaSript SDK:

> pnpm add matrix-bot-sdk

Install Python module:

> pip3 install aitextgen

Configurations

Before a bot can be used the fields in the config.json file must be populated with valid information. Values in angled brackets (stared below) must be supplied before usage.

 homeserver*        URL of the bot's homeserver.

 token*             Account token used to sign in the bot.

 user*              Account's User ID.

 file              Path of file used for training the AI.

 prefix            Bot listens to commands that start with this prefix.

 frequency         How often the bot sends a message (keep low to prevent spam).

 size              Bot starts generating messages when the number of lines in the training file is equal to this. The greater the size, the longer bot waits before messaging but might increase message quality.