Akiru eaff7c0772 | ||
---|---|---|
.vscode | ||
api | ||
app | ||
bot | ||
monitoring | ||
ui | ||
utils | ||
.gitignore | ||
README.md | ||
deno.json | ||
deno.lock | ||
main.ts |
README.md
Nyx the Bot
Fork of Eris the Bot https://eris.lisq.eu
Telegram bot for generating images from text.
Requirements
- Deno (for the bot server)
- Stable Diffusion WebUI (for the worker that generates images)
Options
You can put these in .env
file or pass them as environment variables.
TG_BOT_TOKEN
- Telegram bot token. Get yours from @BotFather. Required.DENO_KV_PATH
- Deno KV database file path. A temporary file is used by default. Example: /opt/data/botdata.kvLOG_LEVEL
- Log level. Default:INFO
.
Running
- Start Eris:
deno task start
- Visit Eris WebUI and login via Telegram.
- Promote yourself to admin in the Eris WebUI.
- Start Stable Diffusion WebUI:
./webui.sh --api
(in SD WebUI directory) - Add a new worker in the Eris WebUI.
This fork requires the use of webhooks.
- You need a reverse Proxy and HTTPS certificate set up that proxies all requests from a domain on port 443 (e.g. nyx.akiru.de) to the backend of this bot (:8443).
- Change the Webhook URL to your own one in /mod/bot.ts - There are also console log statements you can uncomment for troubleshooting.
- Make sure the DNS and firewall are set up for the webhook to be reachable, because otherwise the bot fails to start.
Codegen
The Stable Diffusion API types are auto-generated. To regenerate them, first start your SD WebUI
with --nowebui --api
, and then run deno task generate
Project structure
/api
- Eris API served athttp://localhost:8443/api/
./app
- Queue handling and other core processes./bot
- Handling bot commands and other updates from Telegram API./ui
- Eris WebUI frontend files served athttp://localhost:8443/
./util
- Utility functions shared by other parts.