Bring the ability to setup a full roleplay experience in your telegram group chats.
Note: Currently this is the work in progress.
- Create and use chat-bounded chat modes by describing the agent and how you want it to act
- Introduce yourself to the model
- Add facts about yourself or other people that the model would later use
- Chat with the bot
- Send it text
- Send it pictures
- Send it voice messages
- Receive back text
- Receive back puctures
- Flexible tracking of the AI resources usage
- Flexible permissions and limits
- This bot is built with the idea of not being constrained by just Telegram bot, it could be adapted for most other platforms as well.
/start- Start the bot in current chat/stop- Stop the bot in current chat/reset– Reset the dialogue history/mode [mode]– Select chat mode from existing ones/addmode [mode] [description]- Add new chat mode/deletemode [mode]- delete existing chat mode from this chat/introduce [your introduction]- Add fact about yourself/fact [@tg_handle] [fact]- add fact about the person within the chat/clearfacts [@tg_handle]- delete facts for given person/usage– Show usage limits for your user/language- Set bot preferred language/terms- View terms of use and your current acceptance state/conversationtracker- Turn on/off the conversation tracker for current chat/autofact- Turn on/off the automatic fact extraction for the current chat based on chat history/autoengage- Turn on/off the automatic engage mode (the bot will reply to your messages when it finds it necessary)/ban [@tg_handle]- Ban the user (could work by replying to user's message as well)/unban [@tg_handle]- Unban the user/help– Show help
-
Get your OpenAI API key.
-
Get your Telegram bot token from @BotFather.
-
Compose a
.envfile locally according to the.env.examplefile. Make sure to specify proper database credentials. -
Run docker containers with
docker-compose.yamlfile by doingdocker-compose uplocally. -
(Optional) TODO: for more advanced use cases you can setup environment for automatic deployment (see
.github/workflows/deploy.yaml)