Python Discord.py类型错误:';非类型';对象不可下标
伙计们,我正在研制一种过滤器,可以去除脏话。我的问题是我得到了一个“非类型”对象是不可下标的错误。有人能解释一下为什么以及如何修复它吗?我知道这一错误是由Python Discord.py类型错误:';非类型';对象不可下标,python,mysql,discord.py,Python,Mysql,Discord.py,伙计们,我正在研制一种过滤器,可以去除脏话。我的问题是我得到了一个“非类型”对象是不可下标的错误。有人能解释一下为什么以及如何修复它吗?我知道这一错误是由getMutedValue=curs.fetchone()[0]造成的,但如果我删除[0],它将无法工作 @client.event async def on_message(message): curs.execute('SELECT muted FROM user WHERE userID = (%s)', (message.aut
getMutedValue=curs.fetchone()[0]
造成的,但如果我删除[0],它将无法工作
@client.event
async def on_message(message):
curs.execute('SELECT muted FROM user WHERE userID = (%s)', (message.author.id,))
getMutedValue = curs.fetchone()[0]
curs.execute('SELECT word FROM filter')
getWord = curs.fetchone()
curs.execute('SELECT immunity FROM user WHERE userID = (%s)', (message.author.id,))
getImmunityValue = curs.fetchone()[0]
if getMutedValue == 1:
muted = message.author.mention + ' You are currently muted!'
await message.channel.send(muted)
await message.delete()
if getImmunityValue == 0:
for word in getWord:
if getMutedValue == 0:
if message.content.count(word) > 0:
channel = client.get_channel(729267888539828255)
id = message.author.id
curs.execute('SELECT username FROM user WHERE userID = (%s)', (id,))
getUsername = curs.fetchone()[0]
curs.execute(f'UPDATE user SET warning = +1 WHERE userID = {id}')
db.commit()
curs.execute('SELECT warning FROM user WHERE userID = (%s)', (id,))
getWarning = curs.fetchone()[0]
await message.delete()
await message.channel.send(f'{message.author.mention} Please do not use an swear words. If you continue you will get punished!')
Embed = discord.Embed(
title=f'{getWarning}x Warning from {getUsername}',
color=discord.Colour.red(),
timestamp=datetime.utcnow()
)
Embed.add_field(name='Blacklist Wort:', value=word, inline=False)
Embed.add_field(name='Channel-ID:', value=message.channel.id, inline=False)
Embed.add_field(name='Channel:', value=message.channel, inline=False)
await channel.send(embed=Embed)
await client.process_commands(message)
如果没有要提取的行,则fetchone()
方法可以返回None。(.)该计划下一步应该做什么?在检查用户是否静音的情况下,最明智的做法可能是假设他们没有静音
例如:
row = curs.fetchone()
if row is not None:
getMutedValue = row[0]
else:
getMutedValue = 0
如果返回None
,则返回值为0。如果返回值,则使用该值。如果没有要提取的行,则fetchone()
方法可以返回None。(.)该计划下一步应该做什么?在检查用户是否静音的情况下,最明智的做法可能是假设他们没有静音
例如:
row = curs.fetchone()
if row is not None:
getMutedValue = row[0]
else:
getMutedValue = 0
如果返回None
,则返回值为0。如果你得到一个值,那么你就使用这个值