#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 добавьте еще одно условие, чтобы сделать заявление «и». Это действительно субъективно в зависимости от того, как вы хотите его обусловить