forked from pinks/eris
1
0
Fork 0

webhooks #1

Merged
Akiru merged 12 commits from webhooks into main 2024-01-26 13:20:20 +00:00
1 changed files with 14 additions and 13 deletions
Showing only changes of commit eaff7c0772 - Show all commits

View File

@ -1,17 +1,12 @@
# Eris the Bot # Nyx the Bot
Fork of Eris the Bot https://eris.lisq.eu
[![Website](https://img.shields.io/website?url=https%3A%2F%2Feris.lisq.eu%2F)](https://eris.lisq.eu/)
![Unique users](https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Feris.lisq.eu%2Fapi%2Fstats&query=%24.userCount&label=unique%20users)
![Generated images](https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Feris.lisq.eu%2Fapi%2Fstats&query=%24.imageCount&label=images%20generated)
![Processed steps](https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Feris.lisq.eu%2Fapi%2Fstats&query=%24.stepCount&label=steps%20processed)
![Painted pixels](https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Feris.lisq.eu%2Fapi%2Fstats&query=%24.pixelCount&label=pixels%20painted)
Telegram bot for generating images from text. Telegram bot for generating images from text.
## Requirements ## Requirements
- [Deno](https://deno.land/) - [Deno](https://deno.land/) (for the bot server)
- [Stable Diffusion WebUI](https://github.com/AUTOMATIC1111/stable-diffusion-webui/) - [Stable Diffusion WebUI](https://github.com/AUTOMATIC1111/stable-diffusion-webui/) (for the worker that generates images)
## Options ## Options
@ -20,17 +15,23 @@ You can put these in `.env` file or pass them as environment variables.
- `TG_BOT_TOKEN` - Telegram bot token. Get yours from [@BotFather](https://t.me/BotFather). - `TG_BOT_TOKEN` - Telegram bot token. Get yours from [@BotFather](https://t.me/BotFather).
Required. Required.
- `DENO_KV_PATH` - [Deno KV](https://deno.land/api?s=Deno.openKv&unstable) database file path. A - `DENO_KV_PATH` - [Deno KV](https://deno.land/api?s=Deno.openKv&unstable) database file path. A
temporary file is used by default. temporary file is used by default. Example: /opt/data/botdata.kv
- `LOG_LEVEL` - [Log level](https://deno.land/std@0.201.0/log/mod.ts?s=LogLevels). Default: `INFO`. - `LOG_LEVEL` - [Log level](https://deno.land/std@0.201.0/log/mod.ts?s=LogLevels). Default: `INFO`.
## Running ## Running
1. Start Eris: `deno task start` 1. Start Eris: `deno task start`
2. Visit [Eris WebUI](http://localhost:5999/) and login via Telegram. 2. Visit [Eris WebUI](http://localhost:8443/) and login via Telegram.
3. Promote yourself to admin in the Eris WebUI. 3. Promote yourself to admin in the Eris WebUI.
4. Start Stable Diffusion WebUI: `./webui.sh --api` (in SD WebUI directory) 4. Start Stable Diffusion WebUI: `./webui.sh --api` (in SD WebUI directory)
5. Add a new worker in the Eris WebUI. 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 ## Codegen
The Stable Diffusion API types are auto-generated. To regenerate them, first start your SD WebUI The Stable Diffusion API types are auto-generated. To regenerate them, first start your SD WebUI
@ -38,8 +39,8 @@ with `--nowebui --api`, and then run `deno task generate`
## Project structure ## Project structure
- `/api` - Eris API served at `http://localhost:5999/api/`. - `/api` - Eris API served at `http://localhost:8443/api/`.
- `/app` - Queue handling and other core processes. - `/app` - Queue handling and other core processes.
- `/bot` - Handling bot commands and other updates from Telegram API. - `/bot` - Handling bot commands and other updates from Telegram API.
- `/ui` - Eris WebUI frontend files served at `http://localhost:5999/`. - `/ui` - Eris WebUI frontend files served at `http://localhost:8443/`.
- `/util` - Utility functions shared by other parts. - `/util` - Utility functions shared by other parts.