DiscordRebot es un marco de Bot de Discord Bot de mapeo de comandos basado en Regex con autorización .
Discordrebot es fácil de usar, mínimo y el marco de Async Ready usando Discord.py
La mayoría de los bots usan un único prefijo, cadena para coincidir con el comando y los args divididos por espacios, ejemplo !cmd arg1 arg2 .
Pero Discordrebot usa Regex para que coincidan con el comando y capturar los argumentos. Da más control sobre la coincidencia del comando y los argumentos de análisis.
Además, proporciona autorización para autorizar al autor del mensaje antes de ejecutar el comando.
Un bot mínimo con comando echo
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" ])Puede encontrar más ejemplos en el directorio de ejemplos.
También es compatible
@ 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 al autor del mensaje
Residencia en
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')Puede coincidir con múltiples comandos con un mensaje
@ 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 Discord Bot completo con Regex argparsing en los comandos)