Discord.py:想要将 message.content 读取为小写,.lower() 不起作用

时间:2023-05-12
本文介绍了Discord.py:想要将 message.content 读取为小写,.lower() 不起作用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

问题描述

限时送ChatGPT账号..

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('------')

这篇关于Discord.py:想要将 message.content 读取为小写,.lower() 不起作用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

上一篇:guild.members 无法正常工作 discord.py 下一篇:NameError:“不和谐"未定义?

相关文章