2.3 KiB
2.3 KiB
Uptime.bot - Rocket.Chat Bot voor Uptime Kuma
Een Rocket.Chat bot die altijd online is en helpt met monitoring via Uptime Kuma.
Features
- ✅ Altijd online
- 🤖 Reageert op commando's
- 📊 Geeft status updates
- 🔔 Kan notificaties doorsturen
Commando's
!help- Toon help informatie!ping- Check of bot online is!status- Toon monitoring status!uptime- Toon bot uptime
Setup
Stap 1: Bot account aanmaken in Rocket.Chat
- Log in als admin in Rocket.Chat
- Ga naar Administration → Users
- Klik op New (of +)
- Vul in:
- Name: Uptime Bot
- Username: uptime.bot
- Email: uptime.bot@jouwdomein.nl
- Password: Kies een sterk wachtwoord
- Roles: Selecteer
bot
- Klik op Save
Stap 2: Configuratie
-
Kopieer
.env.examplenaar.env:cp .env.example .env -
Pas
.envaan met jouw instellingen:ROCKETCHAT_URL=jouw-rocketchat.com:3000 ROCKETCHAT_USE_SSL=true BOT_USERNAME=uptime.bot BOT_PASSWORD=jouw-bot-wachtwoord UPTIME_KUMA_URL=http://uptime-kuma:3001
Stap 3: Bot starten
Met Docker Compose:
docker-compose up -d
Met npm (lokaal testen):
npm install
npm start
Stap 4: Bot uitnodigen in kanaal
- Ga naar het kanaal waar je de bot wilt
- Type:
/invite @uptime.bot - Test met:
!ping
Portainer Setup
Als je Portainer gebruikt:
- Upload deze bestanden naar je GitHub repo in een
uptime-botfolder - Maak een nieuwe Stack in Portainer:
- Name:
uptime-bot - Build method: Repository
- Repository URL:
https://github.com/MisticDruid/mijn-docker-stacks - Compose path:
uptime-bot/docker-compose.yml
- Name:
- Voeg environment variabelen toe in Portainer
- Deploy!
Troubleshooting
Bot komt niet online:
- Check of het bot account bestaat in Rocket.Chat
- Controleer username en password in
.env - Check de logs:
docker-compose logs -f
Bot reageert niet:
- Zorg dat de bot is uitgenodigd in het kanaal
- Type
!pingom te testen - Check of bot de
botrole heeft in Rocket.Chat
Aanpassingen
Je kunt extra commando's toevoegen in bot.js in de handleCommand functie.
Bijvoorbeeld een custom commando:
if (text === '!mijncommando') {
await sendMessage(roomId, 'Dit is mijn custom response!');
return;
}