Update 0.7.1: Various config fixes, response quality fixes.

This commit is contained in:
Charlie Laabs
2020-01-11 20:46:27 -06:00
parent 4106fc0395
commit 4fc51e9b07
5 changed files with 142 additions and 71 deletions

116
README.md
View File

@@ -1,27 +1,48 @@
# MarkBot for Discord
A Markov chain bot using markov-strings.
# Setup
First, create a [Discord bot application](https://discordapp.com/developers/applications/).
## Windows
### Requirements
* [Node.js 8.0+ (Current)](https://nodejs.org/en/download/current/)
## Usage
### Setup
1. Install Node.js 8.0 or newer.
1. Train the bot in a lengthy text channel:
* User: `!mark train`
* Markbot: `@User, Finished training from past 76394 messages.`
1. Ask the bot to say something:
* User: `!mark`
* Markbot: `This Shopko has a Linux release`
## Setup
First, create a [Discord bot application](https://discordapp.com/developers/applications/).
### Windows
#### Requirements
* [Node.js 12.0+ (Current)](https://nodejs.org/en/download/)
* Installing with build tools is recommended
#### Setup
1. Install Node.js 12.0 or newer.
1. Download this repository using git in a command prompt
```cmd
git clone https://github.com/charlocharlie/markov-discord.git
```
or by just downloading and extracting the [project zip](https://github.com/charlocharlie/markov-discord/archive/master.zip) from GitHub.
1. Open a command prompt in the `markov-discord` folder.
```sh
# Install Windows build tools
# Install Windows build tools (if you didn't install build tools with Node)
npm install --global --production windows-build-tools
# NPM install non-development packages
npm install --production
```
1. Create a file called `config.json` in the project directory with the contents:
```json
{
"prefix":"!mark",
@@ -29,28 +50,34 @@ First, create a [Discord bot application](https://discordapp.com/developers/appl
"token":"k5NzE2NDg1MTIwMjc0ODQ0Nj.DSnXwg.ttNotARealToken5p3WfDoUxhiH"
}
```
Feel free to change the command prefix, game display. Add your bot token.
1. Run the bot:
```sh
npm start
```
### Debian Linux
## Debian Linux
### Requirements
* Node.js 8.0+
#### Requirements
* Node.js 12.0+
* Python 2.7 (for erlpack)
* C++ build tools (for erlpack)
### Download
#### Download
```sh
# Clone this repository
git clone https://github.com/charlocharlie/markov-discord.git
cd markov-discord
```
### Configure
#### Configure
Create a file called `config.json` in the project directory with the contents:
```json
{
"prefix":"!mark",
@@ -58,9 +85,11 @@ Create a file called `config.json` in the project directory with the contents:
"token":"k5NzE2NDg1MTIwMjc0ODQ0Nj.DSnXwg.ttNotARealToken5p3WfDoUxhiH"
}
```
Feel free to change the command prefix, game display. Add your bot token.
### Install and Run
#### Install and Run
```sh
# Install Node.js if you haven't already
wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash
@@ -77,43 +106,61 @@ sudo apt-get install build-essential -y
npm start
```
## Docker
### Setup with source
1. Install Docker for your OS.
1. Download this repository using git in a command prompt
```sh
git clone https://github.com/charlocharlie/markov-discord.git
```
or by just downloading and extracting the [project zip](https://github.com/charlocharlie/markov-discord/archive/master.zip) from GitHub.
1. Open a command prompt in the markov-discord folder and run this one-liner:
```sh
docker run --rm -e TOKEN=YOUR.BOT.TOKEN -v config:/usr/src/markbot/config -it $(docker build -q .)
# Be patient as the build output is suppressed
```
### Docker
#### Setup with Docker Hub image
### Setup with Docker Hub image
1. Install Docker for your OS.
1. Open a command prompts and run:
```sh
docker pull charlocharlie/markov-discord
docker run --rm -d charlocharlie/markov-discord:latest
```
#### Setup with source
1. Install Docker for your OS.
1. Download this repository using git in a command prompt
```sh
git clone https://github.com/charlocharlie/markov-discord.git
```
or by just downloading and extracting the [project zip](https://github.com/charlocharlie/markov-discord/archive/master.zip) from GitHub.
1. Open a command prompt in the markov-discord folder and run this one-liner:
```sh
docker run --rm -e TOKEN=YOUR.BOT.TOKEN -v config:/usr/src/markbot/config -it $(docker build -q .)
# Be patient as the build output is suppressed
```
## Changelog
### 0.7.1
* Readme updates
* Config loading fix
* Fix min score
* Add generator options to config
* Document Node 12 update
# Changelog
### 0.7.0
* Convert project to Typescript
* Optimize Docker build (smaller image)
* Load corpus from filesystem to reduce memory load
### 0.6.2
* Fix MarkovDB not loading on boot
### 0.6.1
* Fix bot crashing on scheduled regen
### 0.6.0
* Added Docker deploy functionality.
* Moved config and database to `./config` directory. Existing configs will be migrated.
* Config-less support via bot token located in an environment variable.
@@ -121,6 +168,7 @@ npm start
* Change corpus regen time to 4 AM.
### 0.5.0
* Fixed bug where `!mark help` didn't work.
* Only admins can train.
* The bot responds when mentioned.
@@ -131,19 +179,23 @@ npm start
* Simpler config loading.
### 0.4.0
* Huge refactor.
* Huge refactor.
* Added `!mark debug` which sends debug info alongside the message.
* Converted the fetchMessages function to async/await (updating the requirement to Node.js 8).
* Updated module versions.
* Added faster unique-array-by-property function
* Added linting and linted the project.
* Added linting and linted the project.
### 0.3.0
* Added TTS support and random message attachments.
* Deleted messages no longer persist in the database longer than 24 hours.
### 0.2.0
* Updated training algorithm and data structure.
# Thanks
Thanks to [BotMaker-for-Discord](https://github.com/CorySanin/BotMaker-for-Discord) which I used as a reference when during development.
Thanks to [BotMaker-for-Discord](https://github.com/CorySanin/BotMaker-for-Discord) which I used as a reference when during development.