因此,我正在为我使用的服务器制作一个不和谐机器人,并希望添加一个审查功能,以便如果用户在“禁止使用的词语”列表中说了一些话,而不是在特定的频道(工作)中,它将编辑消息以使“[编辑”在它的地方。我相信代码本身是工作的,但是每次我测试它时都会收到这个错误消息。我尝试通过不和谐开发者门户添加权限(选择“OAuth2”,选择“机器人”范围,以及管理角色、查看频道、发送消息、管理消息、读取消息历史记录和提及每个人的权限),复制链接并将其添加到我的测试服务器,但是它似乎仍然无法通过角色获得适当的权限。完全错误:
Traceback (most recent call last):
File "C:\Users\Me\AppData\Local\Programs\Python\Python36\lib\site-packages\discord\client.py", line 312, in _run_event
await coro(*args, **kwargs)
File "C:\Users\Me\Desktop\Productive\Programming Projects\Python 3\Other\MyBot\bot.py", line 32, in on_message
await message.edit(content = editedMessage)
File "C:\Users\Me\AppData\Local\Programs\Python\Python36\lib\site-packages\discord\message.py", line 843, in edit
data = await self._state.http.edit_message(self.channel.id, self.id, **fields)
File "C:\Users\Me\AppData\Local\Programs\Python\Python36\lib\site-packages\discord\http.py", line 241, in request
raise Forbidden(r, data)
discord.errors.Forbidden: 403 Forbidden (error code: 50005): Cannot edit a message authored by another user
代码
import discord
bot=discord.Client()
@bot.event
async def on_ready():
print('Logged in')
print("Username: %s" % (bot.user.name))
print("Userid: %s" % (bot.user.id))
@bot.event
async def on_message(message):
if message.author.id == bot.user.id:
return
bannedWords=['chink','dyke','fag','ook','molest','nig','rape','retard','spic','zipperhead','tranny']
print(str(message))
print(str(message.content))
if "name='no-rules-lol'" not in str(message): #probably a better way to do this but it works
for word in bannedWords:
if word in message.content.lower():
await message.channel.send('{0.author.mention}, you have used a word that is black-listed please read <#754763230169006210> to get a full list of black-listed words'.format(message))
#await message.edit(content = message + 'this has been edited')
editedMessage=str(message.content.replace(word,'[redacted]'))
await message.edit(content = editedMessage)
bot.run(Token)
您不能编辑不是由bot发送的消息。相反,只需尝试删除邮件。
await message.delete()
就这么简单。
如果您要向机器人添加更多命令,您可以最后将其添加到on_message:
await bot.process_commands(message)
非常感谢。
问题内容: 我试图在Ubuntu上设置sqoop(sqoop-1.4.3.bin__hadoop-1.0.0)。我可以运行基本的sqoop帮助等,而不会出现问题。当我运行以下命令时,我得到一个错误: 我用谷歌搜索找到了此错误的答案,而大多数答案指向将JAVA_HOME设置为您的JDK(在〜/ .bashrc中[在Ubuntu上])。 这些是我设置的其他变量: 我还将mysql jdbc驱动程序添加
我正在将我的网站从共享主机移动到VPS。当我在VPS上测试时,我注意到突然之间我再也无法通过网络表单上传文件了。 错误:
这是我的舱单:
请让我知道如何解决这个问题。
这似乎很奇怪,因为该命令试图在Program Files中更改文件,而不是在C:\users\username中更改它应该在的位置。此外,当我为一个.gitconfig文件检查C:\users\username时,我找不到一个。有人知道这是怎么回事吗?
electron-builder的allowElevation和requestedExecutionLevel设置为管理员权限没作用有人知道什么问题吗?打出来的包requestedExecutionLevel我看了下还是asInvoker