Discord.py:想要将 message.content 读取为小写,.lower() 不起作用
问题描述
import discord
import asyncio
import sys
from discord.ext import commands
client=commands.Bot(command_prefix = '.')
id=client.get_guild(-----)
codeword=["codeword"]
@client.event
async def on_message(message):
message.content=message.content.lower()
if message.content== 'sys.exit()': sys.exit()
if message.content in codeword:
await message.channel.send("{}".format(message.author.display_name))
await message.delete()
client.run('------')
Expected outcome: codeword, regardless of capitalization is removed.
Error: NameError: name 'lower' is not defined
I also tried
@client.event
async def on_message(message):
if message.content.lower()== 'sys.exit()': sys.exit()
if message.content.lower() in codeword:
await message.channel.send("{}.format(message.author.display_name))
await message.delete()
Error:'str' object has no attribute 'lowercase'
解决方案I would recommend assigning the lower-case version it's own variable like this.
messageContent = message.content.lower()
So...
@client.event
async def on_message(message):
messageContent = message.content.lower()
if messageContent == 'sys.exit()': sys.exit()
if messageContent in codeword:
await message.channel.send("{}".format(message.author.display_name))
await message.delete()
client.run('------')
相关文章