discord rebot
1.0.0
DiscordRebotは、認可を伴うRegexベースのコマンドマッピングDiscordボットフレームワークです。
DiscordRebotは、使いやすく、最小限で、discord.pyを使用して非同期対応のフレームワークを使用できます。
ほとんどのボットは、単一のプレフィックス、文字列を使用してコマンドを一致させ、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(コマンドに逆遺伝子ベースのArgparsingを備えた完全な特徴の不一致ボット用)