消息不会发送到带 Discord.py 的频道
Message Will Not Send To Channel w/ Discord.py
我正在编写一个 discord 机器人程序,当有人使用命令防止滥用时,它会向一个单独的频道发送一个嵌入,这样我们的管理员就可以密切关注使用情况。
我有这个代码:
@client.command()
@has_permissions(manage_messages=True)
async def purge(ctx, amount=5):
await ctx.channel.purge(limit = amount + 1) # Plus one is so that it also deletes the players purge message
embed = discord.Embed(title="Purged Channel", description="", colour=0xe74c3c, timestamp=datetime.utcnow())
embed.set_author(name="CS Moderation", icon_url="https://cdn.discordapp.com/attachments/938857720268865546/938863881726615602/ca6.png")
embed.add_field(name="Staff Member", value=ctx.author.mention, inline=False)
embed.set_footer(text="Made by HeadOfTheBacons#6666", icon_url=None)
channel = client.get_channel("938898514656784404") #Change ID of logging channel if needed
await channel.send(embed = embed)
当我 运行 这样做时,我无法将嵌入内容发送到其他频道。我已经尝试检查其他帖子,但我一点运气都没有。当我使用命令或尝试 运行 机器人时,我没有任何错误。这里的要点是当有人使用命令制作新嵌入、设置首选项、指定我希望将此嵌入发送到的特定频道 ID,并让计算机将其发送到该频道时。但是,它没有发送。为什么我的代码不起作用?我需要更改代码中的哪些内容才能发送消息?
检查你的程序中是否有on_command_error函数,这可能是你没有错误问题的原因。
也不是说 embed.footer 不能是 None,client.get_channel 需要整数。
所以你可以试试下面的代码,它应该可以工作:
from datetime import datetime
import discord
from discord.ext import commands
from discord.ext.commands import has_permissions
client = commands.Bot(command_prefix="prefix")
@client.command()
@has_permissions(manage_messages=True)
async def purge(ctx, amount=5):
await ctx.channel.purge(limit=amount + 1) # Plus one is so that it also deletes the players purge message
embed = discord.Embed(title="Purged Channel", description="", colour=0xe74c3c, timestamp=datetime.utcnow())
embed.set_author(name="CS Moderation", icon_url=client.user.avatar_url)
embed.add_field(name="Staff Member", value=ctx.author.mention, inline=False)
embed.set_footer(text="Made by HeadOfTheBacons#6666")
channel = client.get_channel(938898514656784404) # Change ID of logging channel if needed
await channel.send(embed=embed)
client.run("TOKEN")
我正在编写一个 discord 机器人程序,当有人使用命令防止滥用时,它会向一个单独的频道发送一个嵌入,这样我们的管理员就可以密切关注使用情况。
我有这个代码:
@client.command()
@has_permissions(manage_messages=True)
async def purge(ctx, amount=5):
await ctx.channel.purge(limit = amount + 1) # Plus one is so that it also deletes the players purge message
embed = discord.Embed(title="Purged Channel", description="", colour=0xe74c3c, timestamp=datetime.utcnow())
embed.set_author(name="CS Moderation", icon_url="https://cdn.discordapp.com/attachments/938857720268865546/938863881726615602/ca6.png")
embed.add_field(name="Staff Member", value=ctx.author.mention, inline=False)
embed.set_footer(text="Made by HeadOfTheBacons#6666", icon_url=None)
channel = client.get_channel("938898514656784404") #Change ID of logging channel if needed
await channel.send(embed = embed)
当我 运行 这样做时,我无法将嵌入内容发送到其他频道。我已经尝试检查其他帖子,但我一点运气都没有。当我使用命令或尝试 运行 机器人时,我没有任何错误。这里的要点是当有人使用命令制作新嵌入、设置首选项、指定我希望将此嵌入发送到的特定频道 ID,并让计算机将其发送到该频道时。但是,它没有发送。为什么我的代码不起作用?我需要更改代码中的哪些内容才能发送消息?
检查你的程序中是否有on_command_error函数,这可能是你没有错误问题的原因。
也不是说 embed.footer 不能是 None,client.get_channel 需要整数。
所以你可以试试下面的代码,它应该可以工作:
from datetime import datetime
import discord
from discord.ext import commands
from discord.ext.commands import has_permissions
client = commands.Bot(command_prefix="prefix")
@client.command()
@has_permissions(manage_messages=True)
async def purge(ctx, amount=5):
await ctx.channel.purge(limit=amount + 1) # Plus one is so that it also deletes the players purge message
embed = discord.Embed(title="Purged Channel", description="", colour=0xe74c3c, timestamp=datetime.utcnow())
embed.set_author(name="CS Moderation", icon_url=client.user.avatar_url)
embed.add_field(name="Staff Member", value=ctx.author.mention, inline=False)
embed.set_footer(text="Made by HeadOfTheBacons#6666")
channel = client.get_channel(938898514656784404) # Change ID of logging channel if needed
await channel.send(embed=embed)
client.run("TOKEN")