text-gen-bot/README.md

59 lines
2.4 KiB
Markdown
Raw Normal View History

2022-08-15 00:50:58 -04:00
# text-gen-bot
2022-08-15 17:46:01 -04:00
Matrix bot that generates messages based off of messages of other users using a neural network.
2022-08-15 20:00:17 -04:00
## Usage
2022-08-16 00:39:40 -04:00
First install the needed [libraries](#setup). 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](#configurations) section of this document. To obtain the token of an account follow the instructions [here](https://matrix.org/docs/guides/usage-of-matrix-bot-sdk#instantiation).
2022-08-15 20:00:17 -04:00
Once the config file has been populated with valid data, execute the `index.js` file (Warning: executing for the first time will be slow.).
```sh
$ node index.js
...
2022-08-15 20:10:42 -04:00
<some warnings show up, ignore them>
2022-08-15 20:00:17 -04:00
...
Client has started!
2022-08-15 20:12:48 -04:00
...
2022-08-15 20:00:17 -04:00
```
2022-08-16 01:27:53 -04:00
If you do not want to wait until the bot creates its own dataset from new messages, you can export chat history easily using [Element](https://element.io/blog/element-1-9-1-export-is-finally-here/). In this case, you will need to manually remove the time stamps from the text file.
2022-08-15 20:00:17 -04:00
## Setup
2022-08-15 17:46:01 -04:00
2022-08-15 22:50:25 -04:00
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.
2022-08-15 19:03:20 -04:00
2022-08-15 17:46:01 -04:00
Install JavaSript SDK:
```sh
2022-08-15 19:03:20 -04:00
> pnpm add matrix-bot-sdk
2022-08-15 17:46:01 -04:00
```
Install Python module:
```sh
2022-08-15 19:03:20 -04:00
> pip3 install aitextgen
2022-08-15 17:46:01 -04:00
```
2022-08-16 00:39:40 -04:00
## Configurations
2022-08-16 00:50:05 -04:00
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.
2022-08-16 00:39:40 -04:00
```json
► homeserver* ⇢ URL of the bot's homeserver.
► token* ⇢ Account token used to sign in the bot.
► user* ⇢ Account's User ID.
2022-08-16 03:43:01 -04:00
► file ⇢ Path of file used for training the AI (.txt file only).
2022-08-16 00:39:40 -04:00
2022-08-16 03:43:01 -04:00
► prefix ⇢ Bot listens to commands that start with this prefix.
2022-08-16 00:39:40 -04:00
2022-08-16 03:43:01 -04:00
► frequency ⇢ How often the bot sends a message (keep low to prevent spam).
2022-08-16 00:39:40 -04:00
2022-08-16 03:43:01 -04:00
► 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.
► retrain ⇢ The bot retrains itself after this many extra lines of messages are recorded in the text file.
2022-08-16 00:39:40 -04:00
```