Telegram bot for generating images from text
Go to file
Akiru eaff7c0772 README.md aktualisiert 2024-01-26 13:13:31 +00:00
.vscode add vscode config 2023-09-13 11:50:49 +02:00
api api/mod.ts aktualisiert 2024-01-26 07:42:44 +00:00
app refactor: rewrite API to Elysia (#25) 2023-11-20 02:14:14 +00:00
bot bot/mod.ts aktualisiert 2024-01-26 12:54:05 +00:00
monitoring monitoring/sleepy.sh hinzugefügt 2024-01-25 08:38:14 +00:00
ui ui/StatsPage.tsx aktualisiert 2024-01-25 08:53:35 +00:00
utils refactor: rewrite API to Elysia (#25) 2023-11-20 02:14:14 +00:00
.gitignore sort config 2023-10-18 23:08:18 +02:00
README.md README.md aktualisiert 2024-01-26 13:13:31 +00:00
deno.json refactor: rewrite API to Elysia (#25) 2023-11-20 02:14:14 +00:00
deno.lock refactor: rewrite API to Elysia (#25) 2023-11-20 02:14:14 +00:00
main.ts main.ts aktualisiert 2024-01-25 09:01:23 +00:00

README.md

Nyx the Bot

Fork of Eris the Bot https://eris.lisq.eu

Telegram bot for generating images from text.

Requirements

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.kv
  • LOG_LEVEL - Log level. Default: INFO.

Running

  1. Start Eris: deno task start
  2. Visit Eris WebUI and login via Telegram.
  3. Promote yourself to admin in the Eris WebUI.
  4. Start Stable Diffusion WebUI: ./webui.sh --api (in SD WebUI directory)
  5. Add a new worker in the Eris WebUI.

This fork requires the use of webhooks.

  1. 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).
  2. Change the Webhook URL to your own one in /mod/bot.ts - There are also console log statements you can uncomment for troubleshooting.
  3. 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 at http://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 at http://localhost:8443/.
  • /util - Utility functions shared by other parts.