0
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

discord.pyサイトに載っていなくて困ったコードメモ

Last updated at Posted at 2020-04-05

#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('対応してません')

※絵文字に関しては
参照ページ
こちらをご覧ください

0
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?