198 lines
4.9 KiB
Markdown
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. |