O DiscordReBot é uma estrutura de mapeamento de comandos baseada em regex com autorização .
O DiscordReBot é fácil de usar, mínimo e ascilante, estrutura de estrutura usando discord.py
A maioria dos bots usa um único prefixo, string para corresponder ao comando e args dividido por espaços, exemplo !cmd arg1 arg2 .
Mas o DiscordReBot usa Regex para corresponder ao comando e capturar os argumentos. Ele fornece mais controle sobre a correspondência do comando e a análise de argumentos.
Além disso, fornece autorização para autorizar o autor da mensagem antes de executar o comando.
Um bot mínimo com comando de eco
from discordRebot import *
client = discord . Client ()
key = Mapper ()
@ key ( re . compile ( r"^!echo (.*)$" )) # Eg: '!echo hello' -> 'hello'
def echo ( msg , string ):
return string
echo . auth = None
client . event ( Manager ( key ). on_message )
import os ; client . run ( os . environ [ "DBToken" ])Você pode encontrar mais exemplos no diretório de exemplos.
Também suporta
@ key ( re . compile ( r"^!ticker (d*) (d*)$" ))
async def ticker ( msg , delay , to ):
delay , to = int ( delay ), int ( to )
for i in range ( to ):
yield i
await asyncio . sleep ( delay ) Autoriza o autor da mensagem
baseado em
1234567890'user#1234' @ key ( "am i authorized ?" )
def amiauthorized ( msg ):
return "Authorized"
amiauthorized . auth = { 1234567890 , 'user#1234' }
# only executable by user1 (with id 1234567890) and user2 (with username 'user#1234')Pode corresponder a vários comandos com uma mensagem
@ key ( re . compile ( r"^([sS]*)$" ))
def printmsg ( msg , content ):
print ( f"@ { msg . author } :" )
print ( content )
@ key ( "whereami" )
def whereami ( msg ):
if msg . guild :
return msg . guild . name
else :
return "DM"
Discord-reargparse (para o Bot Discord completo com argparsing baseado em regex em comandos)