【发布时间】:2021-06-03 07:02:03
【问题描述】:
好的,所以当我删除一条消息,然后执行狙击命令时,它会从不同的服务器获取一条消息。所以,我将删除 Hello,然后执行命令,它会从完全不同的服务器向我发送一条最近删除的消息。我怎样才能解决这个问题?有什么想法吗?
import discord
from discord.ext import commands
import asyncio
class Moderation(commands.Cog):
def __init__(self, client):
self.client = client
snipe_message_content = None
snipe_message_author = None
snipe_message_id = None
@commands.Cog.listener()
async def on_message_delete(self, message):
global snipe_message_content
global snipe_message_author
global snipe_message_id
snipe_message_content = message.content
snipe_message_author = message.author
snipe_message_id = message.id
await asyncio.sleep(60)
if message.id == snipe_message_id:
snipe_message_author = None
snipe_message_content = None
snipe_message_id = None
@commands.command()
async def snipe(self, message):
if snipe_message_content==None:
await message.channel.send("Theres nothing to snipe.")
else:
embed = discord.Embed(description=f"{snipe_message_content}")
embed.set_footer(text=f"Asked by {message.author.name}#{message.author.discriminator}", icon_url=message.author.avatar_url)
embed.set_author(name= f"{snipe_message_author}")
await message.channel.send(embed=embed,delete_after=5)
return
def setup(client):
client.add_cog(Moderation(client))
【问题讨论】:
-
我投票结束这个问题,因为这是一个愿望清单,你希望我们为你编写整个逻辑,这根本不是一个编程问题。
-
啊,好吧,我没有意识到,谢谢。 @ŁukaszKwieciński,我应该删除它吗?
-
如果您正在寻找答案,则不应删除问题。在 StackOverflow 上,即使您提出的问题没有很好地表述,很多人仍然会尝试帮助您解决编程问题。
-
您可以随时编辑您的问题。它使您有更多机会获得有意义的答案;)
-
好的,谢谢!!!!!!!!!
标签: python python-3.x discord discord.py python-3.7