python - 如何修复嵌入不发送踢/禁止(discord.py)
问题描述
当我运行我的 kick/ban 命令时,我希望它向执行命令的频道发送一个嵌入消息,以宣布谁被禁止。我在代码中有它,但是当用户被踢时它不会发布。我将如何解决这个问题?
@commands.has_permissions(kick_members=True)
async def kick(context, member : discord.Member, *, reason=None):
# Conditions
if reason == None:
await context.channel.send("**``Please provide a reason for why this member should be kicked!``**", delete_after=3)
else:
# Await Kick
await member.kick(reason=reason)
# Send Embed in Server
myEmbed = discord.Embed(title="CRYPTIC Moderation", color=0x000000)
myEmbed.add_field(description=f'{member.mention} has been successfully kicked for: **``{reason}``**!')
myEmbed.set_footer(icon_url=context.author.avatar_url, text=f'Invoked by {context.message.author}')
await context.message.channel.send(embed=myEmbed)
# DM Kicked User
if member.dm_channel == None:
await member.create_dm()
await member.dm_channel.send(
content=f"You have been kicked from **``{context.guild}``** by {context.message.author} for **``{reason}``**!"
) ```
The DM part works in both commands, but the embed doesn't work in either. Thank you.
解决方案
问题是,您添加了一个字段,而不是仅向嵌入添加描述,但字段具有name
andvalue
和 not description
。因此,请在您设置嵌入标题的位置设置描述:
#@bot.command or something similar is missing here. Copy and paste error?
@commands.has_permissions(kick_members=True)
async def kick(context, member : discord.Member, *, reason=None):
# Conditions
if reason == None:
await context.channel.send("**``Please provide a reason for why this member should be kicked!``**", delete_after=3)
else:
# Await Kick
await member.kick(reason=reason)
# Send Embed in Server
myEmbed = discord.Embed(title="CRYPTIC Moderation", color=0x000000, description=f'{member.mention} has been successfully kicked for: **``{reason}``**!') #add the description where you add the title
myEmbed.set_footer(icon_url=context.author.avatar_url, text=f'Invoked by {context.message.author}')
await context.message.channel.send(embed=myEmbed)
# DM Kicked User
if member.dm_channel == None:
await member.create_dm()
await member.dm_channel.send(
content=f"You have been kicked from **``{context.guild}``** by {context.message.author} for **``{reason}``**!"
) ```
推荐阅读
- node.js - 如何注册猫鼬模式?
- powershell - 如何使 repo 状态出现在 posh git (oh-my-posh)
- c++ - 在实现 OIT 的同时,不同窗口的缓冲区和纹理能否在 OpenGL 中共享同一个绑定点?
- c++ - 我正在尝试使用字符串作为输入将八进制数转换为十进制数,但答案是错误的
- python - Python Tuple vs List 检查包含字节码性能/大小分析
- sql - 空数组的 array_length() 和 cardinality() 返回数组大小之一
- java - orphanRemoval 不起作用,父子关系上的 Spring JPA EntityExistsException
- python - 编解码器无法解码位置 y 的字节 x
- flutter - Flutter: StreamProvider : 有没有办法知道 StreamProvider 的状态?例如,如果它是“加载”还是“完成”?
- javascript - 等到页面刷新:反应