首页 > 解决方案 > Discord.py 重复消息,删除命令

问题描述

我已经让它完全重复该消息,但是如何让它删除命令前缀并删除该消息?

import discord
import os

client = discord.Client()

@client.event
async def on_ready():
    print('We have logged in as {0.user}'.format(client))

@client.event
async def on_message(message):
    if message.author == client.user:
        return
  
    if message.content.startswith('.say'):
        await message.channel.send(message.content)

client.run(os.getenv('TOKEN'))

标签: discord.py

解决方案


要摆脱发送命令前缀的机器人,您可以[4:]在发送时使用,这样前四个字符就不会发送!

要删除用户的消息,您可以使用以下命令:await message.delete()

所以完整的代码是:

import discord
import os

client = discord.Client()

@client.event
async def on_ready():
    print('We have logged in as {0.user}'.format(client))

@client.event
async def on_message(message):
    if message.author == client.user:
        return
  
    if message.content.startswith('.say'):
        await message.channel.send(message.content[4:])
    await message.delete()

client.run(os.getenv('TOKEN'))

我会查看此处链接的 discord.py 文档


推荐阅读