как заставить бота удалить верхний регистр discord python

#python

Вопрос:

Я пытаюсь создать бота, чтобы избежать заглавных букв, но я не могу этого сделать, когда пишу число или «:» он определяет его как заглавные буквы вот мой код на python:

 import discord
from discord.ext.commands import Bot
from discord.ext import commands
import asyncio

bot = commands.Bot(command_prefix='') #ive tried both true/false. neither works 

print("Starting...")

@bot.event
async def on_ready():
  print("Logged on as {0.user}".format(bot))

@bot.event
async def on_message(message):
    args = message.content.split(" ")[1:]
    if message.content.startswith(message.content.upper()):
        await message.delete()
        await bot.send_message(message.channel, " ".join(args))

bot.run("")
 

Ответ №1:

Я думаю, ты можешь просто измениться

 if message.content.startswith(message.content.upper()):
 

Для

 if message.content.isupper():
 

чтобы определить заглавную букву, предположим message.content , что это строка

Ответ №2:

Добавляя к ответу пользователя 69696969, вот мое решение

 @bot.event
async def on_message(message):
    if message.content.isupper():
        await message.delete()
        await bot.send_message(message.channel, message.content.lower())
 

в случае, если вы хотите использовать последнюю версию python-discord, вот вам

 @bot.event
async def on_message(message):
    if message.content.isupper():
        await message.delete()
        await message.channel.send(message.content.lower())
 

если вы не хотите, чтобы D: был обнаружен как «все заглавные буквы», вот мое предложение

 if message.content.isupper() and len(set(message.content)) > 3: #to have at least 3 unique characters
 

Комментарии:

1. Большое вам спасибо, но теперь, когда я пишу «D:», мне приходит в голову, что это заглавные буквы, как я мог это исправить?

2. @PeliculasYSeries добавьте еще одно условие, чтобы сделать заявление «и». Это действительно субъективно в зависимости от того, как вы хотите его обусловить