Skip to content

Felinesec/FelineSec-Bot

Repository files navigation

felineseclogo

FelineSec Bot

Python3.7+ GitHub release Passing License: MPL 2.0 Group Codacy Badge

💭 ​Comandi

I Comandi già impostati sono:
  • /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

📝 Come creare un comando

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 *

⚙️ ​Config

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.

📂 ​Project Tree

+  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
└───

❗ Requirements

  • psutil
  • python-telegram-bot
  • datetime
  • wikipedia
  • ping3