当前位置: 首页 > 知识库问答 >
问题:

不一致当用户开始流媒体时,py使bot发送消息

仲学真
2023-03-14

当我在twitch上开始直播时,我正试图让我的机器人向指定频道发送消息。到目前为止,我还在忙于从我的状态中获取正确的“活动”,这表示我正在流媒体。到目前为止,我得到的是:

class Stream(commands.Cog):
    def __init__(self, bot):
        self.bot = bot
        
    
    @commands.Cog.listener()
    async def on_ready(self):
        print("Streamingstatus loaded")
    
    
    @commands.Cog.listener()
    async def on_member_update(self, before, after):
        channel = self.bot.get_channel (751954378772185149)
        if after.activity is not None and after.activity.name == '#Twitch or so?' and after.id == 254375451084980224 and guild.id == 670015807551438874:
                print(before.activity)
                print(after.activity)
                if after.activity.title.startswith(#streaming) and before.activity.title != after.activity.title:
                        await channel.send("Spleens went live on twitch right now! Watch him making a fool out of himself!")

提前感谢任何帮助!^^

共有1个答案

陶法
2023-03-14

您的问题是您正在检查活动。name而正确的方法是检查活动。键入。此外,要检查用户是否正在流媒体,您需要检查活动是否正常。类型不协调。ActivityType。流媒体。我不完全确定您试图在代码的某些行中实现什么,但要检查用户是否正在流式处理,请执行以下操作:

@commands.Cog.listener()
async def on_member_update(self, before, after):
    try:
        activity_type = after.activity.type
    except:
        pass
    # Here we check if the user is streaming
    if activitity_type is discord.ActivityType.streaming:
        # Do X if he is streaming
    else:
        # Do Y if he is not streaming

 类似资料:
  • 我希望我的机器人每天在特定的时间发送一条消息,运行另一个机器人的命令。例如,我想让我的机器人写“s!t"每天凌晨2点在特定频道上,并删除机器人发送的消息。我该怎么做?

  • 我一直在尝试使用Discord为Discord创建一个机器人。但是,当我运行程序时,它没有按预期发送消息。这是一个简单的机器人,假设每10分钟向一个频道发送一条消息。我在命令行中没有收到任何错误消息,似乎看不到任何明显的错误?任何帮助都将不胜感激。

  • 如果我执行类似于它工作正常。 但是,我找不到一种方法使其适用于ping。我尝试了机器人ID和名称。我的机器人ID代码: 有人能帮忙吗?

  • 我正在使用spark结构流发送记录到一个Kafka主题。kafka主题是用config- 这样做使得目标Kafka主题记录具有与原始记录相同的时间戳。 我的Kafka流代码:

  • 我只是想给加入服务器的新成员写一封欢迎信。我想在每次新成员加入时发送嵌入。但是,未发送嵌入。有人能帮我吗? 这是我的代码: 谢谢

  • 我的目标是创建一个discord bot,该bot使用用户发送的相同消息进行响应,如果用户发送文件,则bot将发送该文件的链接。 我可以让两个部分分开工作,但在一起我只是遇到了问题(见底部),在我目前的代码中只有独立文件发送工作,文本消息没有,如果你有文本文件,文件链接将由机器人发送但是文本不会。如果我把第二部分放在上面,那么我得到的基本上是完全相反的,只有文本被发送,没有文件。 我的代码: 底部