- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
因此,我尝试制作一个机器人,每次用户加入我的服务器时都会将其嵌入到特定 channel 。
代码看起来像这样
import discord
import asyncio
import datetime
from discord.ext import commands
intents = discord.Intents()
intents.members = True
intents.messages = True
intents.presences = True
bot = commands.Bot(command_prefix="a!", intents=intents)
@bot.event
async def on_ready():
print('Bot is ready.')
@bot.event
async def on_member_join(ctx, member):
embed = discord.Embed(colour=0x1abc9c, description=f"Welcome {member.name} to {member.guild.name}!")
embed.set_thumbnail(url=f"{member.avatar_url}")
embed.set_author(name=member.name, icon_url=member.avatar_url)
embed.timestamp = datetime.datetime.utcnow()
channel = guild.get_channel(816353040482566164)
await channel.send(embed=embed)
我有一个错误
Ignoring exception in on_member_join
Traceback (most recent call last):
File "C:\Users\Piero\AppData\Roaming\Python\Python39\site-packages\discord\client.py", line 343, in _run_event
await coro(*args, **kwargs)
File "C:\Users\Piero\Documents\Discord\a-chan\achan_bot\main.py", line 24, in on_member_join
channel = guild.get_channel(816353040482566164)
NameError: name 'guild' is not defined
有人知道我的代码有什么问题吗?
最佳答案
首先来看 discord.py
documention , ctx
没有传递给 on_member_join
事件引用。但是,您可以使用 attributes of member
这是为了获得您需要的值而传递的。
@bot.event
async def on_member_join(member):
embed = discord.Embed(
colour=0x1abc9c,
description=f"Welcome {member.name} to {member.guild.name}!"
)
embed.set_thumbnail(url=f"{member.avatar_url}")
embed.set_author(name=member.name, icon_url=member.avatar_url)
embed.timestamp = datetime.datetime.utcnow()
channel = member.guild.get_channel(816353040482566164)
await channel.send(embed=embed)
有趣的是,你这样做是为了获得公会名称,但似乎你在检索
channel
时忘记这样做了。 .
关于python-3.x - 不和谐的欢迎机器人,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66444121/
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
首先 – 我们处于未涉足的领域,因此虽然它可以在最新的 Firefox 中运行,但 MDN 上的文档在撰写本文时尚未准备好。稍后我会修复MDN(也许还有很多地方需要修复),所以我会提供一个glossa
如何让 jslint 与 node --harmony 配合良好?当我使用 Harmony 标志运行 Node 时,我收到如下 jslint 错误: #1 Expected an identifie
node --v8-options | grep harmony --es_staging (enable all completed harmony features) --harmony
尝试为 Mongo 使用基于 ES6 的新 node.js ODM (Robe http://hiddentao.github.io/robe/) 出现“意外的严格模式保留字”错误。我在这里有什么问题
我想要一个带有方法和私有(private)变量的代理对象。 也就是说,所有普通的对象属性: foo = {} foo.bar = "baz" foo.boo = "hoo" 一些原型(prototyp
我是一名优秀的程序员,十分优秀!