python – 如何通过irc bot进行投票?

python – 如何通过irc bot进行投票?,第1张

概述我已经使用套接字设置了一个irc机器人.我添加了一些命令,但我想添加一个“poll”功能. 理想情况下,机器人会获得这种格式的命令: !poll< name> < OPT1> < OPT2> < OPT3> <时间> 如何在一段时间后检查投票和结束投票的用户? 提前致谢, 绝望的Python初学者. 编辑:非常感谢回复人员,我使用全球变量(我知道,我知道),因为我无法弄清楚如何做到这一点.再次,非 @H_404_0@ @H_404_0@ 我已经使用套接字设置了一个irc机器人.我添加了一些命令,但我想添加一个“poll”功能.
理想情况下,机器人会获得这种格式的命令:

!poll< name> < OPT1> < OPT2> < OPT3> <时间>

如何在一段时间后检查投票和结束投票的用户?

提前致谢,

绝望的Python初学者.

编辑:非常感谢回复人员,我使用全球变量(我知道,我知道),因为我无法弄清楚如何做到这一点.再次,非常感谢!

解决方法 好吧,我的Python开始变得有些生疏,但我想我可以回答一下 – 但这可能不是最好的答案.

如果您计划一次进行多次民意调查,您可以实现一个包含Poll等自定义类的多个实例的字典.这是一个可能的解决方案:

class PollVotes(object):    def __init__(self):        self.Votes = []        self.stoptime = "some date/time" #I can't remember how to do this bit ;)    def add_Vote(self,Vote_value):         self.Votes.append(Vote_value);    def tally_Votes(self):        return self.Votes.size()    def has_closed(self):        if time_Now >= self.stoptime: # I forget how you'd do this exactly,but it's for sake of example            return True        else:            return False#then use it something like thispoll_List = {}#irc processing...if got_Vote_command:    if poll_List["channel_or_poll_name"].has_ended():         send("You can no longer Vote.")    else:        poll_List["channel_or_poll_name"].add_Vote(persons_Vote)        #send the tally        send("%d people have Now Voted!" % poll_List["channel_or_poll_name"].tally_Votes())

当然,您必须编辑轮询类以满足您的需求,即允许投票中的多个值,以记录投票的人(如果您想要的话)等.

至于检查轮询是否已经结束,您可以编辑轮询类以具有停止时间,并且具有返回True / False的函数,无论该时间是否已经过去.可能会看一下datetime模块的文档……?

无论如何,希望这会有所帮助.

@H_404_0@ 总结

以上是内存溢出为你收集整理的python – 如何通过irc bot进行投票?全部内容,希望文章能够帮你解决python – 如何通过irc bot进行投票?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1196459.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存