DiscordRebot ist ein Regex -basiertes Befehlszuordnung, das Discord Bot -Framework mit Genehmigung abbildet.
Discordrebot ist einfach zu bedienen, minimal und asynchronisiert mit Discord.py
Die meisten Bots verwenden ein einzelnes Präfix, einen String, um den Befehl zu übereinstimmen, und Args, die durch Leerzeichen aufgeteilt sind, Beispiel !cmd arg1 arg2 .
DiscordRebot verwendet Regex jedoch, um sowohl den Befehl zu entsprechen als auch die Argumente zu erfassen. Es gibt mehr Kontrolle über sowohl übereinstimmende Befehl als auch Parsen Argumente.
Außerdem wird die Genehmigung zur Genehmigung des Autors der Nachricht vor der Ausführung des Befehls vorgesehen.
Ein minimaler Bot mit Echo -Befehl
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" ])Weitere Beispiele finden Sie im Beispielverzeichnis.
Es unterstützt auch
@ 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 ) Autorisiert den Nachrichtenautor
bezogen auf
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')Kann mehrere Befehle mit einer Nachricht übereinstimmen
@ 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 (für voll ausgestattete Discord Bot mit Regex-basiertem Argparsing in Befehlen)