python 如果函数为真,则不协调Bot发送消息

xvw2m8pv  于 2023-02-07  发布在  Python
关注(0)|答案(1)|浏览(97)

那是我查广播的功能

def broadcast1():
    if 'isLiveBroadcast' in contents:
        return True

这就是我的功能什么必须发送消息到特定的文字频道有关广播

@bot.event
async def broadcast2(broadcast1):
    if broadcast1 is True:
        channel = bot.get_channel(1067083439263727646)
        await channel.send('ЖАБА СТРИМИТ')

我已经写了两个功能,必须一起工作,并发送消息在文本通道时,广播是现场直播,但他们不工作
没有错误,只是不工作

lawou6xi

lawou6xi1#

你的代码和程序逻辑有很多基本的问题。
首先,@bot.event通常用于注册Discord事件的“侦听器”。没有broadcast2事件可供侦听。因此,该函数将“永远不会"执行。您可以查看这里的事件引用,并查看我们可以响应/React的所有事件。
第二,正如上面的评论者指出的,你实际上并没有调用这个函数。假设if broadcast1是True doesn't work how you think it works. By itself, broadcast 1 is a function, and therefore broadcast 1 is a function object. It will never equal True; so event if we were listening for the right event, it would never do what you want it do anyways. What we _should_ be doing, is actually invoked the function: broadcast 1()'。这意味着函数和代码会运行。关于函数在python中如何工作,有很多tutorials online。Linked只是一个例子。
第三,在broadcast1频道中,你正在检查“isLiveBroadcast”是否在contents中。什么内容?它在哪里定义?你可能也需要重新考虑一下。
总而言之,您可能应该学习Python基础课程,然后学习一些教程来组装Discord机器人。The docs是一个很好的起点-尝试按照快速入门的东西学习,然后随着沿着进行调整。

相关问题