在 discord.py 上发送的消息如何删除?
How do I delete messages fter they have been sent on discord.py?
我 运行 遇到了一个问题,如果某个变量为 1,我会尝试删除消息。
class vars:
locked = 1
@client.event
async def on_messge(message):
if vars.locked == 1:
await message.delete()
我用 alt 帐户(没有权限)尝试过,但仍然无效。接受任何帮助! :)
除了缩进错误之外,您的代码似乎没有任何问题(首先应该给您抛出 SyntaxError
)
我重写了代码,没有任何问题,完全按照描述工作。
import discord
import os
from discord.ext import commands
client = commands.Bot()
class vars:
locked = 1
@client.event
async def on_ready():
print(f"Sucessfully logged in as {client.user}")
@client.event
async def on_message(msg):
if vars.locked == 1:
await msg.delete()
client.run(os.getenv("DISCORD_TOKEN"))
因为我无法演示它的工作原理(因为删除的消息被删除了)我做了这个例子:
@client.event
async def on_message(msg):
if msg.author == client.user:
return
if vars.locked == 1:
await msg.channel.send(
f"Deleted the msg **{msg.content}** because vars.locked = {vars.locked}"
)
await msg.delete()
结果是:
我 运行 遇到了一个问题,如果某个变量为 1,我会尝试删除消息。
class vars:
locked = 1
@client.event
async def on_messge(message):
if vars.locked == 1:
await message.delete()
我用 alt 帐户(没有权限)尝试过,但仍然无效。接受任何帮助! :)
除了缩进错误之外,您的代码似乎没有任何问题(首先应该给您抛出 SyntaxError
)
我重写了代码,没有任何问题,完全按照描述工作。
import discord
import os
from discord.ext import commands
client = commands.Bot()
class vars:
locked = 1
@client.event
async def on_ready():
print(f"Sucessfully logged in as {client.user}")
@client.event
async def on_message(msg):
if vars.locked == 1:
await msg.delete()
client.run(os.getenv("DISCORD_TOKEN"))
因为我无法演示它的工作原理(因为删除的消息被删除了)我做了这个例子:
@client.event
async def on_message(msg):
if msg.author == client.user:
return
if vars.locked == 1:
await msg.channel.send(
f"Deleted the msg **{msg.content}** because vars.locked = {vars.locked}"
)
await msg.delete()
结果是: