# 🐘 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.