welcome_bot/README.md
2024-07-06 07:56:05 +02:00

198 lines
4.9 KiB
Markdown

# 🐘 Welcome Bot pro Mastodon
Tento bot slouží k automatickému zasílání uvítacích zpráv novým uživatelům na Mastodon instanci.
## Vytvoření souborů s klientským klíčem a klientským secret
1. Přihlaste se na svůj server a přejděte do adresáře, kde máte svůj projekt.
2. Vytvořte aplikaci na webu Mastodon a získejte potřebné klíče:
1. Přihlaste se do své Mastodon instance.
2. Přejděte do `Nastavení > Vývojářské nástroje > Aplikace`.
3. Klikněte na `Vytvořit novou aplikaci`.
4. Pojmenujte aplikaci (např. "Welcome Bot").
5. Nastavte následující oprávnění:
- `write:statuses` - pro posílání příspěvků.
- `admin:read:accounts` - pro čtení informací o účtech (pokud je to potřeba).
6. Klikněte na `Uložit změny`.
7. Zkopírujte `Klientský klíč`, `Klientský secret` a `Přístupový token`.
3. Vytvořte soubor client_id.secret a vložte do něj klientský klíč:
```bash
echo "your_client_id" > client_id.secret
```
Nahraďte your_client_id skutečným klientským klíčem, který získáte při registraci aplikace na Mastodon instanci.
4. Vytvořte soubor secret_storage.secret a vložte do něj klientský secret:
```bash
echo "your_client_secret" > secret_storage.secret
```
Nahraďte your_client_secret skutečným klientským secret, který získáte při registraci aplikace na Mastodon instanci.
5. Přihlášení a získání přístupového tokenu:
Vytvořte soubor credential_storage.secret a vložte do něj přístupový token:
```bash
echo "your_credential_storage.secret> credential_storage.secret" > credential_storage.secret
```
Pokud ještě nemáte přístupový token, spusťte skript s vašimi přihlašovacími údaji:
```bash
python3 welcome_bot.py --email vas_email@example.com --password vase_heslo
```
## Co udělat při dalším spuštění
Při dalším spuštění již nebudete muset zadávat přihlašovací údaje, protože token bude uložen v souboru credential_storage.secret:
```bash
python3 welcome_bot.py
```
## Požadavky
- Python 3.7+
- Mastodon.py
- python-dotenv
- SQLite3
## Instalace
1. Naklonujte repozitář:
```bash
git clone https://your-repo-url.git
cd welcome_bot
```
2. Vytvořte virtuální prostředí a aktivujte ho:
```bash
python3 -m venv venv
source venv/bin/activate
```
3. Nainstalujte potřebné balíčky:
```bash
pip install -r requirements.txt
```
Vytvořte konfigurační soubory:
- config.toml:
```bash
[mastodon]
base_url = "url_instance_mastodon"
client_id = "client_id.secret"
secret_storage = "secret_storage.secret"
credential_storage = "credential_storage.secret"
[database]
sqlite_path = "welcome_bot.db"
[[messages]]
content = "Vítej na naší instanci Mastodon!"
content_warning = "Upozornění"
[[messages]]
content = "Jsme rádi, že jsi tady!"
[[messages]]
content = "Doufáme, že si užiješ pobyt na naší platformě!"
```
- `client_id.secret:` Vložte svůj client ID.
- `secret_storage.secret`: Vložte svůj client secret.
- `credential_storage.secret:` Vložte svůj access token.
## Použití
1. Ujistěte se, že je aktivováno vaše virtuální prostředí:
```bash
source venv/bin/activate
```
2. Spusťte bota:
```bash
python3 welcome_bot.py
```
2. stěte se, že je aktivováno vaše virtuální prostředí:
```bash
source venv/bin/activate
```
Spusťte bota:
```bash
python3 welcome_bot.py
```
### Nastavení `systemd` služby
1. Vytvořte soubor služby:
```bash
sudo nano /etc/systemd/system/welcome_bot.service
```
Vložte následující obsah:
```bash
[Unit]
Description=Welcome Bot pro Mastodon
After=network.target
[Service]
User=your_username
WorkingDirectory=/cesta/k/adresari/projektu
ExecStart=/cesta/k/adresari/projektu/venv/bin/python /cesta/k/adresari/projektu/welcome_bot.py
Restart=always
[Install]
WantedBy=multi-user.target
```
Nahraďte `your_username` vaším uživatelským jménem a /cesta/k/adresari/projektu skutečnou cestou k adresáři, kde máte svůj projekt.
Znovu načtěte konfiguraci systemd:
```bash
sudo systemctl daemon-reload
```
Povolte službu při startu systému:
```bash
sudo systemctl enable welcome_bot
```
Spusťte službu:
```bash
sudo systemctl start welcome_bot
```
### Testování bota
1. Zkontrolujte stav služby:
```bash
sudo systemctl status welcome_bot
```
Ujistěte se, že služba běží bez chyb.
2. Sledujte logy služby:
```bash
sudo journalctl -u welcome_bot
```
Logy vám pomohou zjistit, zda bot funguje správně a zda posílá uvítací zprávy novým uživatelům.
### Příspěvky
Příspěvky jsou vítány! Pro více informací viz [CONTRIBUTING.md](CONTRIBUTING.md)
### Licence
Tento projekt je licencován pod MIT licencí - viz LICENSE soubor pro detaily.
Acknowledgements
Tento projekt je založen na [isosphere/mastodon-welcome](https://github.com/isosphere/mastodon-welcome) projektu. Děkujeme autorům za jejich skvělou práci.