Bars's TeleDiffusionBot

Open-source Telegram bot based on aiogram that uses AUTOMATIC1111 webui as backend.

Features:

  • Database hosting in telegram
  • Prompts, negative prompts, multi models support and many other features from webui
  • Saving and restoring prompts from pictures
  • Many admins for bot
  • Easy-to-edit code
  • Bot hosting and StableDiffusion hosting can be separate

Screenshots

generated config

...try it yourself!

Setup instructions

If using replit:

python3 -m venv venv
source venv/bin/activate
pip3 install -r requirements.txt

Env variables setup is completed by adding them in menu (environment setup is described later)

If using other hosting:

Setup bot as usually, environment setup is described later

If hosting locally:

Create .env file in root of bot directory

Important

Remember to run /start command in bot from admin account to set everything up after filling environment and running it.

Environment

TOKEN=
ADMIN=
DB_CHAT=
DB_PATH=
ENCRYPTION_KEY=

Add these variables to .env file or set up environment key-value on your hosting

Env keys and values:

They should be in KEY='VALUE' format

TOKEN

Bot token from BotFather

Bot privacy should be disabled.

Sequence within a BotFather chat:
You: /setprivacy
BotFather: Choose a bot to change group messages settings.
You: @your_name_bot
BotFather: 'Enable' - your bot will only receive messages that either start with the '/' symbol or mention the bot by username.
'Disable' - your bot will receive all messages that people send to groups.
Current status is: ENABLED
You: Disable
BotFather: Success! The new status is: DISABLED. /help

Source

ADMIN

Your id. To get it, use @userinfobot. Send any message to this bot and copy your id.

DB_CHAT

This is needed to host database in telegram. Create new group or use old group with databases. Invite @RawDataBot to your group:

Find this string and kick bot:

Add value to DB_CHAT variable. For me it is -816497374

DB_PATH

Path to folder where db and dbmeta are stored. dbmeta is file, that you need to copy when moving to other hosting to restore database. Path can be . to store in same folder. For me now it is /home/barstiger/db/TeleDiffusionBot

ENCRYPTION_KEY

Password to encrypt some database fields. Do not share it.

Starting bot

Type /start in new bot PM to set up everything.

Install AUTOMATIC1111 webui and run it with --api argument (for me arguments are --no-half --xformers --api --listen to properly work with newer SD models and work in local network). Make sure that Add model name to generation information is enabled in settings!

Run /setendpoint http://endpoint_address:port. For me now it is http://192.168.50.30:7860, WITHOUT BACKSLASH at the end

Bot is ready to use!

Description
No description provided
Readme 114 KiB
Languages
Python 99.2%
Nix 0.8%