在 TwitchIO 中获取用户 ID

问题描述 投票:0回答:1

我正在编写一个 Twitch 机器人。我希望能够存储发布的评论数量的排名。所以我想通过数据库中的 Twitch ID 来标记用户。

我写了这个 get 函数:

  5 def getId(chatter : Union[twitchio.Chatter, twitchio.PartialChatter]):                                                                                                                               
  6     if isinstance(chatter,twitchio.chatter.Chatter):                            
  7                                                                                 
  8         userVar = chatter.channel.user()                                        
  9         print("NormalChatter", type(userVar))                                   
 10                                                                                 
 11         return userVar                                                          
 12         #return chatter.channel.user().id                                       
 13         #return chatter.id                                                      
 14                                                                                 
 15     elif isinstance(chatter, twitchio.PartialChatter):                          
 16         return chatter.user().id                                                
 17     else:                                                                       
 18         print("NoneBoy")   

从 Channel 对象获取聊天对象时,我最终得到了经过第 9 行打印测试的 Chatter 对象。Chatter 对象应该具有“id”属性,按照 [https://twitchio.dev/en/stable/reference.html#twitchio。喋喋不休] 它有属性,但他的属性为NULL。

我尝试使用通道和“user()”协程来获取ID,但似乎它除了自身之外没有返回任何内容(chatter.channel.user().id 导致 'AttributeError: 'coroutine' object has no attribute 'id' ') 我这样做是因为我认为它可能是从 PartialChatter obj 继承的。

有人知道如何获取这个用户ID吗?

python bots twitch
1个回答
0
投票

这个问题的答案是:userID 并不是每个开发人员都可以访问的,而且 Twitch 很少提供它。 序列化用户的最佳方式是通过用户名。

这是我从 TwitchIO 线程中的 Twitch API 的不和谐服务器得到的答案。

© www.soinside.com 2019 - 2024. All rights reserved.