Java 如何使用Pirc为IRC创建投票系统

Java 如何使用Pirc为IRC创建投票系统,java,irc,voting,twitch,Java,Irc,Voting,Twitch,我是一个java初学者,开始在Twitch.tv上使用streamer。我整晚都在努力开发一个IRC机器人,它可以简化我频道的调节(我希望有一个使用cookie cutter IRC机器人无法提供的定制级别) 有一件事让我感到困惑,那就是民意测验的创建。我查看了Pirc javadocs,据我所知,没有命令可以检查通道op发送的消息,这对于防止巨魔创建轮询至关重要,而我的知识有限,我不知道如何从消息中获取额外的参数 我想要的是: !poll <question> <c1>

我是一个java初学者,开始在Twitch.tv上使用streamer。我整晚都在努力开发一个IRC机器人,它可以简化我频道的调节(我希望有一个使用cookie cutter IRC机器人无法提供的定制级别)

有一件事让我感到困惑,那就是民意测验的创建。我查看了Pirc javadocs,据我所知,没有命令可以检查通道op发送的消息,这对于防止巨魔创建轮询至关重要,而我的知识有限,我不知道如何从消息中获取额外的参数

我想要的是:

!poll <question> <c1> <c2> <c3> <seconds>
!投票

有人帮忙吗?我会在outro上为每个流添加您到我的感谢屏幕。

通过PIRC javadocs快速查看,您想要的方法似乎是#onMessage(字符串通道, 字符串发送器, 字符串登录, 字符串主机名, 字符串消息)

从这里,您可以获得所需的任何信息。现在,根据您处理传入消息的方式,您只需搜索命令,在本例中是“!poll”,您将从消息字符串接收该命令。从那里,您可以进一步解析信息,并对其执行所需操作


如果您还没有使用过它们,那么pirc的javadocs就在这里:

正如Jdsfighter所说,您需要使用PircBot超类中的
onMessage(…)
方法。每当消息发送到您的频道时,都会调用此方法。我假设你现在已经理解了这一点,因为在制作IRC机器人时,让机器人对聊天做出反应是阿尔法和欧米茄

当涉及到版主(IRC术语中的操作员)时,Twitch IRC服务器的行为方式不是PircBot完全理解的,我还没有成功地使用User类中的
User.isOp(…)
方法。我发现成功的是在我的Bot类(而不是主类)中包含以下内容:

现在,您需要创建一个方法,每当收到的消息以“
”!poll“
”开头时调用该方法,并检查消息的发送者是否在OPs集合中

下面是一个提纲,放在
onMessage()方法中

if (message.toLowerCase().startsWith("!poll") {
    if (OPs.contains(sender)) {
            //TODO Add body
    }
}
现在,您只需编写一些代码,捕捉“!Poll”后面的剩余部分,并将有关不同轮询选项的消息发回频道

很明显,你需要一个地方来存储你的备选方案以及每个方案获得的票数,我建议只使用两个数组,一个
String[]
和一个
int[]

jtv MODE #channel +o moderatorName
if (message.toLowerCase().startsWith("!poll") {
    if (OPs.contains(sender)) {
            //TODO Add body
    }
}