实施计时器来阻止套接字 IRC 机器人中的滥用?
代码:
while True:
data = irc.recv(4096)
if data.find('PING') != -1:
irc.send('PONG '+ data.split() [1] +' \r\n')
if data.find('!latest') != -1:
irc.send('PRIVMSG #PwnMyI :\x02Latest Article:\x02 %s, \x02written by\x02 %s \r\n' % (art_name, art_auth))
irc.send('PRIVMSG #PwnMyI :\x02Description:\x02 %s \r\n' % art_desc)
irc.send('PRIVMSG #PwnMyI :\x02View Article:\x02 %s \r\n' % art_link)
这是我的机器人的代码片段。其余的代码是自定义构建的,并分成不同的文件,无论如何您都不需要它们。
irc
是套接字连接,send
通过套接字发送数据。我想做的是实现一个定时功能,这样它每 5 分钟只工作一次。只是为了停止虐待。有人能指出我正确的方向吗?谢谢。
Code:
while True:
data = irc.recv(4096)
if data.find('PING') != -1:
irc.send('PONG '+ data.split() [1] +' \r\n')
if data.find('!latest') != -1:
irc.send('PRIVMSG #PwnMyI :\x02Latest Article:\x02 %s, \x02written by\x02 %s \r\n' % (art_name, art_auth))
irc.send('PRIVMSG #PwnMyI :\x02Description:\x02 %s \r\n' % art_desc)
irc.send('PRIVMSG #PwnMyI :\x02View Article:\x02 %s \r\n' % art_link)
This is a snippet of code from my bot. The rest of the code is custom build, and split into different files, and you don't need them anyway.
irc
is the socket connection, and send
sends the data over the socket. What I want to do is implement a timing feature, so that it'll only work once every 5 minutes. Just to stop abuse. Can anyone point me in the right direction? thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
创建最后发送的时间戳变量。当您发帖时,请检查上次发送的时间戳是否在特定时间段内。如果是,请勿发帖。如果不是,请发布并更新为当前时间。
Create a last sent timestamp variable. When you post, check to see if the last sent timestamp is within a certain time period. If it is, don't post. If it isn't, post and update it with the current time.