#python #discord #bots
Вопрос:
То, что я пытаюсь сделать, — это команда «поцелуй», пользователь вводит !поцелуй, затем бот должен ответить «{пользователь} целует тебя ! {автор}» но это не работает
import discord
from discord.ext import commands
@bot.command()
async def kiss2(ctx, target:discord.Member = None):
if target == None:
await ctx.send("Tu n'as mentionné personne !")
else:
await ctx.send(target.mention)
await ctx.channel.send(" GROS BISOUS {target.mention}, de la part de {ctx.author.mention} !!!!!!!")
await ctx.channel.send("https://tenor.com/view/cony-brown-flying-kiss-love-gif-14132471")```
Комментарии:
1. Пожалуйста, покажите нам, что вы пробовали до сих пор!
2. Эй! Я еще ничего не пробовал, потому что мои знания python ужасны. Это то, что мне было интересно, потому что в данный момент мне это тоже нужно, чтобы предотвратить рейд. Но я подумал о чем-то вроде : «[бот] проверяет журналы»; если более 3 запретов/ударов; [бот] проверяет [пользователя], которого забанили; запрещает указанного [пользователя]; [бот] отправляет в личку [пользователю] сообщение «Вы были забанены из-за предотвращения рейдов». Я искренне сожалею, что до сих пор не показал ничего, что могло бы вам помочь.
3. Вам придется выучить язык и написать некоторый код, чтобы вы могли представить его здесь вместе с конкретной проблемой. Вы не можете ожидать, что мы напишем программу для вас.
4. Я не жду, что кто-то что-то сделает для меня. Я хочу знать, были ли мои мысли, возможно, правильными
Ответ №1:
В вашем заявлении else есть ошибка, см. Ниже
@client.command()
async def kiss2(ctx, target:discord.Member = None):
if target == None:
await ctx.send("Tu n'as mentionné personne !")
else:
await ctx.channel.send(f" GROS BISOUS {target.mention}, de la part de {ctx.author.mention} !!!!!!!")
await ctx.channel.send("https://tenor.com/view/cony-brown-flying-kiss-love-gif-14132471")
Вам нужно добавить «f» перед вашим {target.mention}, иначе {target.mention} является строкой, а не переменной.