【发布时间】:2022-08-05 09:01:45
【问题描述】:
所以我做了一个非常简单的 discord 机器人,当你使用命令 \'/dogggif\' 时,它会以狗 gif 响应。它可以工作,但有一个问题,如果用户再次使用该命令,我希望机器人用同一主题的另一个 gif 响应“狗”,但机器人用相同的 gif 响应。
我尝试过使用 random 模块,但它似乎不起作用(或者我不知道放置它的正确位置)。
在这段代码中,我使用了 Tenor 的 api,但我不介意使用其他网站来获取 gif。
注意:我对 python 很陌生,这个项目只是我认为会很有趣的事情,所以如果可以的话,请回答一个解释。
这是代码:
from urllib import response
import hikari
import lightbulb
import requests
bot = lightbulb.BotApp(
token = \'DicordBotTokenHere\',
default_enabled_guilds = (123123123) #That should ID of your bot testing server on Discord#
)
@bot.listen(hikari.StartedEvent)
async def bot_started(event):
print(\'Bot has started!!\') #Here it prints something when bot has succesfully started#
@bot.command
@lightbulb.command(\'doggif\',\'Sends a dog gif!\') #We set command\'s name and description#
@lightbulb.implements(lightbulb.SlashCommand) #We make it a slash command#
async def dogif(ctx):
apikey = \'YourTenorApiKeyHere\'#You can get the key on tenor\'s api site#
def get_gif(search_term):
responseif = requests.get(\"https://g.tenor.com/v1/search?q={}&key={}&limit=1\".format(search_term, apikey))
data = responseif.json()
return data[\'results\'][0][\'media\'][0][\'gif\'][\'url\']
await ctx.respond(get_gif(\'dog\'))
bot.run()
标签: python python-3.x discord