亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Discord.py:如何從用戶輸入的標簽中獲取角色?

Discord.py:如何從用戶輸入的標簽中獲取角色?

人到中年有點甜 2022-09-20 17:55:05
我正在制作一個Discord Bot,它具有2個主要功能 - 為只有用戶可以訪問的用戶創建一個頻道,并讓他們邀請人們進入他們的頻道?,F在,第一部分有效,但邀請部分不起作用。首先,下面是允許用戶為自己分配角色的代碼,該角色運行良好并添加角色:if message.content.startswith('!!start'):    await message.channel.send('Hello {0.author.mention}! Welcome to The Hangout. We are about to setup your account here! Hang on..'.format(message))    print(message.author)    overwrites = {        message.guild.default_role: discord.PermissionOverwrite(read_messages=False),        message.guild.me: discord.PermissionOverwrite(read_messages=True),        message.author: discord.PermissionOverwrite(read_messages=True, send_messages=True)    }    await message.channel.send('What would you like your apartment to be called?')    msg = await client.wait_for('message')    print(msg.content)    apartments = discord.utils.get(message.guild.categories, name='Apartments')    print(apartments)    channel = await message.guild.create_text_channel(str(msg.content), overwrites=overwrites, category=apartments)    await message.channel.send('Done! Next, we will setup a role which people can use to invite you to their apartment by.')    await message.channel.send('What would you like your role to be called? (please be sensible, people will use this to invite you.)')    msg = await client.wait_for('message')    await message.guild.create_role(name=str(msg.content))    role = discord.utils.get(message.guild.roles, name=str(msg.content))    await message.author.add_roles(role)    await message.channel.send('Done! You are now setup. In #other, type in !!help to learn how to invite people to your apartment.')以下是處理邀請的代碼:if message.content.startswith('!!invite'):    await message.channel.send('Inviting ' + message.content[8:] + "...")    role = discord.utils.get(message.guild.roles, name=message.content[8:])    await message.channel.set_permissions(role, send_messages=True, read_messages=True)代碼應接受來自用戶(角色)的標記,并允許他們訪問用戶的頻道。如何從給定的標記中獲取所有用戶的角色,然后篩選出除自定義角色之外的任何其他角色?
查看完整描述

1 回答

?
三國紛爭

TA貢獻1804條經驗 獲得超7個贊

是的,我已經想通了。我需要先從 ID 中獲取角色,因此我使用此代碼來獲取角色,這實際上有效:


        await message.channel.send('Inviting ' + message.content[8:] + "...")


        print(message.content[12:-1])


        role = discord.utils.get(message.guild.roles, id=int(message.content[12:-1]))

        print(role)

        await message.channel.set_permissions(role, send_messages=True, read_messages=True)



查看完整回答
反對 回復 2022-09-20
  • 1 回答
  • 0 關注
  • 119 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號