discord rebot
1.0.0
UnsordRebot是带有授权的基于正则命令的命令映射Discord Bot框架。
使用discord.py的discordrebot易于使用,最小和异步框架
大多数机器人都使用单个前缀,字符串来匹配命令,而args则由空格分配,例如!cmd arg1 arg2 。
但是,DiscordRebot使用Regex匹配命令并捕获参数。它对匹配命令和解析参数提供了更大的控制权。
此外,它也提供了在执行命令之前授权该消息的作者的授权。
带有回声命令的最小机器人
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" ])您可以在示例目录中找到更多示例。
它也支持
@ 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 )授权消息作者
基于
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')可以将多个命令与消息匹配
@ 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(用于命令中的基于REGEX的Fulled Discord Bot)