python - 可以使用不和谐机器人发送定义的字符串
问题描述
我正在尝试制作一个不和谐的机器人来随机遇到 dnd,现在我有代码
import discord
import os
import random
import asyncio
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('$desert'):
DesertList = ['charmander', 'charmeleon', 'charizard']
Desert = random.choice(DesertList)
await message.channel.send(Desert)
client.run("just trust me its the right ID")
我想要做的是发送沙漠(定义Desert = random.choice(DesertList)
),但机器人不发送任何东西。我已经测试了 Desert 在 Visual Studio 的控制台中是否有一个值,它返回一个随机名称。我的基础是一些在不和谐中工作的东西,我在频道中输入 $hello,它会回复 Hello!
@client.event
async def on_message(message):
if message.author == client.user:
return
if message.content.startswith('$hello'):
await message.channel.send('Hello!')
解决方案
K 所以我完成了它,一切正常。最终代码看起来像
import discord
import os
import random
import asyncio
client = discord.Client()
DesertList1 = 'none'
DesertList2 = 'none'
def printdesert():
print(DesertList1)
def randomizedesert():
global DesertList1
global DesertList2
DesertList2 = ['charmander', 'charmeleon', 'charizard']
DesertList1 = random.choice(DesertList2)
@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('$desert'):
global DesertList1
randomizedesert()
printdesert()
message.channel.send("bruh")
await message.channel.send(DesertList1)
client.run(":)")
简化它是必要的,但要在以后使用
推荐阅读
- java - Spring中带有抽象类的构造函数依赖注入
- c++ - 如何理解 C++ 函数块内部定义的静态变量?
- c# - 在c#中使用while循环时出现问题
- swift - 如何使用 SwiftUI 从登录屏幕导航到另一个屏幕
- gitlab - gitlab 最重要的使用问题
- python - Pygame screen.blit() 来自非零 y 坐标
- azure - 如何在非工作时间仅从 Azure 启动/停止 VM 中排除 VM
- mysql - 即使没有 SUM 结果,如何显示 mySQL 行?
- swift - Metal中两个数组的Int64元素的比较
- php - 即使“AllowNoPassword”设置为 true,PhpMyAdmin 仍会显示登录页面