禁止登录 IRC 频道,以 twitch 为例
Posted
技术标签:
【中文标题】禁止登录 IRC 频道,以 twitch 为例【英文标题】:Ban logs in IRC channels, on the example of twitch 【发布时间】:2021-09-05 09:27:40 【问题描述】:我正在用 Python + Sockets 编写一个机器人来同时收集多个 twitch 频道的日志。实际上,消息本身没有问题,但我想收集禁令/超时日志以获得更广泛的功能,代码:
IRC = socket.socket (socket.AF_INET, socket.SOCK_STREAM)
IRC.connect ((SERVER, PORT))
IRC.send (f "PASS PASSWORD \ n" .encode ('utf-8'))
IRC.send (f "NICK NICKNAME \ n" .encode ('utf-8'))
IRC.send (f "JOIN CHANNEL \ n" .encode ('utf-8'))
while True:
response = IRC.recv (1024) .decode ('utf-8')
if response == "PING: tmi.twitch.tv \ r \ n":
IRC.send ("PONG: tmi.twitch.tv \ r \ n" .encode ('utf-8'))
print (response)
time.sleep (.5)
在这个(尚未完成的)形式中,他收集消息,但不收集禁令等。
【问题讨论】:
你有什么问题? 【参考方案1】:您是否考虑过偶然设置 Twitch-IO?如果您设置的机器人仅连接到您的聊天并配置日志记录,它将自动记录到文件,如下所示:
from twitchio.ext import commands
import logging
logging.basicConfig(filename='irclog.txt', encoding='utf-8', level=logging.DEBUG)
bot = commands.Bot(token="irc token", nickname="your username", prefix="doesn't really matter, can be anything", initial_channels=["your channel"])
@bot.event
async def event_ready():
print("Bot ready, beginning logging")
bot.run()
希望对您有所帮助!
【讨论】:
是的,这部分是我正在寻找的,但问题出现了,是否有可能找出谁禁止了用户? 你怎么能赶上禁令?我从 Twitchio 的文档中了解了 fetch_ban_events (twitchio.readthedocs.io/en/latest/…),但我不明白它是如何工作的?以上是关于禁止登录 IRC 频道,以 twitch 为例的主要内容,如果未能解决你的问题,请参考以下文章