[英]AttributeError: 'NoneType' object has no attribute 'group' error
[英]Why error - AttributeError: 'NoneType' object has no attribute
我只是編碼 discord 機器人,需要幫助來為用戶添加角色。
我使用了腳本:
import discord #first script line
bot = discord.Client()
@bot.event
async def on_ready():
await bot.change_presence(activity=discord.Activity(type=discord.ActivityType.listening, name=" //help"))
guild_count = 0
for guild in bot.guilds:
print(f"- {guild.id} (name: {guild.name})")
guild_count = guild_count + 1
print("Verify bot is in " + str(guild_count) + " guilds.")
@bot.event
async def on_message(message):
if message.content == "//verify": #first command
member = message.author
wait_until_ready()
var = discord.utils.get(message.guild.roles, name="verifyed")
await member.add_roles(var)
await message.author.send("You are verifyed on server! Thanks for using!")
await message.author.send("Vote for our bot : **we are not in bot list already**")
embed = discord.Embed(title='Verify',description='User verifyed! Use **//verify to verify your self!')
await message.add_reaction('✅')
embed.set_footer(text="Coded by Puk3l YT#2657")
await message.channel.send(message.channel, embed=embed)
然后我只是測試了代碼,並收到錯誤消息:
Ignoring exception in on_message
Traceback (most recent call last):
File "C:\Users\mykem\AppData\Local\Programs\Python\Python38-32\lib\site-packages\discord\client.py", line 343, in _run_event
await coro(*args, **kwargs)
File "C:\Users\mykem\Desktop\bot\online_bot.py", line 23, in on_message
await member.add_roles(var)
File "C:\Users\mykem\AppData\Local\Programs\Python\Python38-32\lib\site- packages\discord\member.py", line 676, in add_roles
await req(guild_id, user_id, role.id, reason=reason)
AttributeError: 'NoneType' object has no attribute 'id'
我能做些什么? 有人能幫我嗎? 謝謝大家的回答
代碼:
var = discord.utils.get(message.guild.roles, name="verifyed")
await member.add_roles(var)
追溯:
await member.add_roles(var)
File "C:\Users\mykem\AppData\Local\Programs\Python\Python38-32\lib\site- packages\discord\member.py", line 676, in add_roles
await req(guild_id, user_id, role.id, reason=reason)
AttributeError: 'NoneType' object has no attribute 'id'
錯誤是它試圖獲得一個角色但找不到任何角色。 var
是None
而不是 discord.Role 類型的discord.Role
。 因此,您隨后的調用await member.add_roles(var)
失敗。 您需要添加一個確保var
有效的條件。
例如
if var:
await member.add_roles(var)
else:
print("role could not be found")
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.