【问题标题】:Discord Python Bot embed value return function not textDiscord Python Bot嵌入值返回函数不是文本
【发布时间】:2021-07-03 18:56:32
【问题描述】:

我为我的 discord 机器人构建了一个函数,用于解析来自网站的信息。 在我的任务中,我想每 30 分钟显示一次这些数据,但我想有多个值,所以我想我可以这样做:

功能一:

async def test99():
        link = my_link
        f = requests.get(link) 
        if "Login </td><td align=left><img src=img/on.gif" in f.text:
            return "haha"
        else:
            return "huhu"

我的“任务”:

@tasks.loop(seconds=900)
async def called_once_a_day_cores():
        embedVar = discord.Embed(title="Status", url="XXX",  description="TESTING", color=0x00ff00)
            embedVar.add_field(name="Login", value=test99, inline=True)
            await message_channel.send(embed=embedVar)

不和谐频道中不和谐机器人的输出:

<function test99 at 0x000001E75751FE50>

【问题讨论】:

  • 您必须实际定义test99。根据我的知识,用它制作一个功能是行不通的。您的输出还告诉您创建的嵌入/您定义它的方式有问题。

标签: python-3.x discord discord.py


【解决方案1】:

首先,你只需要调用函数。

embedVar.add_field(name="Login", value=await test99(), inline=True)

您还应该考虑request.get 正在阻塞。您应该使用 aiohttp(包含在 discord.py 依赖项中)。

from aiohttp import ClientSession as CS

async def test99():
    link = my_link
    async with CS() as cs:
        async with cs.get(link) as r:
            if "Login </td><td align=left><img src=img/on.gif" in await r.text():
                return "haha"
            else:
                return "huhu"

【讨论】:

  • 了解详细答案!
  • 好吧,赞成:P jk,前提是您认为这是一个很好的答案并且对您有所帮助
  • 抱歉,忘记点赞了。我只是解决了不同的问题,但也尝试了你的方法,效果也很好。
猜你喜欢
  • 2021-04-26
  • 2020-07-17
  • 1970-01-01
  • 2021-11-06
  • 1970-01-01
  • 2021-08-12
  • 1970-01-01
  • 2021-10-22
  • 1970-01-01
相关资源
最近更新 更多