#discord.py メモ
随時更新したいと思います
discordで私が困ったこと(サイトを探しても見つからなかったもの)
をメモしときます参考までにどうぞ~
##前書き
python 3.8.1
windows10
※discord.clientを使用し関数から直接書き始めます
##コード一覧
意外と乗っていなかったコードたち
###①リアクションした絵文字ごとに役職を付与するコード
今回はメッセージを受け取った時のイベント(on_message)を使いますがそのほかでも応用可能です
このコードは時間を指定します
これを使用するには
import asyncio
を宣言する必要があります
discord.py
@client.event
async def on_message(message):
guild = message.guild
if message.content == '/role':
reaction_message = await message.channel.send('pls reaction good or bad')
reaction_message_id = reaction_message.id
ad_role_good = guild.get_role(YOUR_ROLE_ID)
ad_role_bad = guild.get_role(YOUR_ROLE_ID)
def check(reaction,user):
return user == message.author and reaction.message.id == reaction_message_id
try:
reaction, user = await client.wait_for('reaction_add', timeout=120.0, check=check)
except asyncio.TimeoutError:
await message.channel.send('時間切れです!!!')
else:
if str(reaction.emoji) == "\U0001f44d":
await message.author.add_roles(ad_role_good)
await message.channel.send('good')
elif str(reaction.emoji) == '\U0001f44e':
await message.author.add_roles(ad_role_bad)
await message.channel.send('bad')
else:
await message.channel.send('対応してません')
※絵文字に関しては
参照ページ
こちらをご覧ください