Bot messages
Closed this issue · 14 comments
Hi, can the bot send messages randomly or do we have to ping it (or use !mark) every time?
You have to ping it or use !mark for it to respond.
Alright, thank you. Also, how do i completely reset the model? It got stuck and now it only says a few things
Sorry, no elegant way to reset the model as of now. Just deleting markovDB.json
and retraining should work.
Keep in mind that you need to train for each individual text channel you want included in the model. However, any new messages from any channel will be included in the model. Channel and server separation is a future feature.
Does your bot have the 'Read Message History' permission?
Oh it works now, thank you.
Hey, i'm sorry for bothering you again, but for some reason the bot gets stuck and only repeats some messages and doesn't learn.
No worries about asking questions. Issues are part of documentation.
The bot only updates the model at midnight to avoid excess processing time. I also recommend having a large dataset. I've seen success with around 40000+ messages, but you might be fine with a few thousand. With a small dataset, the bot will only have a few possible messages above the score threshold settings, and therefore be repetitive. You can get more info on the bot's decision for its response by saying !mark debug
.
Oh, alright. Do you know where i can find a dataset so i dont have to spend a lot of time generating it?
Unfortunately, that's not really the point. The dataset is based on messages in your server, so to finding some random phrases online would give you some unrecognizable responses. The bot forms its messages from examples found in the server. If you want more possible responses at a lower quality, you can try lowering the minWords
and minScore
settings in the program.
Oh, alright. Does !mark train reset the database or does it just add the new data to it?
!mark train
will add the current text channel to the database, and remove any duplicates. So if you want to add multiple text channels to the database, you need to do !mark train
in each channel one-by-one. Running !mark train
regularly doesn't hurt; I use it to get any missed messages during a bot outage.
How long does it usually take?
The Discord API is pretty slow. It can take a few minutes for big text channels with 20000+ messages.