- /start per l'avvio del bot
- /help per avere una lista dei comandi disponibili
- /wiki {arg} per cercare su wikipedia
- /setrules {arg} per impostare le regole
- /rules per vedere le regole
- /server per avere le statistiche d'uso del server ( CPU, RAM, Uptime, Boot Time)
- /help: Mostra un riassunto dei comandi
- /ping: effetua un ping su google.com
Per creare un comando serve per prima cosa creare il file del comando example.py sotto la cartella commands, poi la struttura del comando dovrà essere:
#!/usr/bin/env python3
# example.py
# Python 3.7
# Version 0.1
#
# Created by UsernameExample
# Mozilla Public License
#
#Inserire le librerie da utilizzare
def example_handler(bot, update):
#TODO: Scrivere il codice del comando
text = "Example test"
#Risposta del bot in chat
update.message.reply_text(text)
# LOG del bot
user = update.message.from_user
messagetime = datetime.strftime(datetime.today(), '%H:%M del %d/%m/%Y')
print('User: {} con ID: {} '.format(user['username'], user['id'])
+ "Ha appena eseguito il seguente comando: /example alle ore " + messagetime)
Poi nel file main.py importare il nuovo comando e sotto #trigger aggiungere:
from commands import start, server, help, example <----
def main():
...
# Trigger
updh = updater.dispatcher.add_handler
dp = updater.dispatcher
updh(CommandHandler('start', start.start_handler))
updh(CommandHandler('server', server.server_handler))
updh(CommandHandler('help', help.help_handler))
-> updh(CommandHandler('example', example.example_handler))
dp.add_handler(MessageHandler(None, newuser.newuser_handler))
dp.add_error_handler(error)
...
Infine nel file init.py aggiungiamo il nostro comando:
__all__ = ["help", "start", "server", "newuser", "example"] <-
from commands import *
Nel file example.config.py c'è la configurazione di ad esempio Bot Token e Admin List, l'admin list contiene gli id degli utenti amministratori.
+ bot
|
├── + commands
| | __init__.py
| | build_menu.py
| | definisci.py
│ | help.py
| | kill.py
│ | newuser.py
| | ping.py
│ | server.py
| | setrules.py
│ | start.py
| └───
|
├── + admins
| | __init__.py
| | decorator.py
| └───
|
| example.config.py
| main.py
| LICENSE.md
| README.md
| requirements.txt
| startup.sh
└───
- psutil
- python-telegram-bot
- datetime
- wikipedia
- ping3