我正在编写一个 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吗?
这个问题的答案是:userID 并不是每个开发人员都可以访问的,而且 Twitch 很少提供它。 序列化用户的最佳方式是通过用户名。
这是我从 TwitchIO 线程中的 Twitch API 的不和谐服务器得到的答案。