我正在尝试制作一个DiscordBot,它可以让用户超时。一般的想法是,我和我的朋友可以用门票让对方超时一分钟左右。但我不能让这种不和谐。Interaction.user.Timeout()开始工作。我查看了Discord.py文档,但我找不到我的错误。下面我将重要的代码用粗体表示。错误发生在print(“1”)wait member1.Timeout(超时)print(“2”)程序打印“1”,就这样。我收到的唯一错误消息来自Discord(此交互不成功)请帮助我。
import discord from discord.ext import commands import json import random from discord import app_commands import datetime member1 = discord.Interaction.user class SelectMenu3(discord.ui.View): options1 = [ discord.SelectOption(label="Timeouten", value="1", description="Timeout someone"), discord.SelectOption(label="Enttimeouten", value="2", description="Opposite") ] @discord.ui.select(placeholder="Options", options=options1) async def menu_callback3(self, interaction: discord.Interaction, select): with open("cogs/eco.json", "r") as f: user_eco = json.load(f) global member1 member = interaction.user select.disabled = True eco_embed = discord.Embed(title="Timeouts", description="", colour=discord.Color.blue()) eco_embed.add_field(name="Amount Timeout:", value=f"{user_eco[str(member.id)]['Timeout']}") **if select.values[0] == "1": if user_eco[str(member.id)]['Timeout'] >= 1: timeout = datetime.timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=1, hours=0, weeks=0) print("1") await member1.timeout(timeout) print("2") else: await interaction.response.send_message(content="Du hast nicht genug Timeout-Tickets für diese Aktion", ephemeral=True) ** elif select.values[0] == "2": if user_eco[str(member.id)]['Timeout'] >= 1: pass else: await interaction.response.send_message(content="Du hast nicht genug Timeout-Tickets für diese Aktion",ephemeral=True) **@app_commands.command(name="timeout", description="") async def timeout(self, interaction: discord.Interaction, member: discord.Member): global member1 member1 = member view = SelectMenu3() await interaction.response.send_message(content="Choose", view=view, ephemeral=True) **