You have to enter /raw CAP REQ :twitch.tv/membership and rejoin your channels to receive the !join and !part information. But with the points system that is floating around for most twitch bots if the bot joins in the middle ( of a stream for example ), receives the information it doesn't accept the fact that they've "joined" the channel.
So they're not gaining points. The only fix I can think of is having the bot be there before everyone enters the chat.
Any suggestions / ideas for when the bot ISN'T there at the start?
Last edited by Feyl0rd; 14/07/1503:31 AM. Reason: Words
Thanks for the response! While this is one way to retrieve the members who are connected to the chat, it isn't (to my knowledge) a way to trigger the !join to enable the generation of points (via the script). With the /script I linked I'm able to retrieve the list of users from the channel the normal way, it's just that if I don't do it before the stream the event doesn't trigger.
Are you saying the the membership cap doesn't send you users already in the room? That's unacceptable in terms of IRC implementation and you won't be able to depend on any internal mechanisms mIRC uses to keep track of user state.
You have not given the script you're using or any technical information that would assist us in helping you.
on !*:join:#:{
$+(.timerpoints.,#,.,$nick) 0 5 add.pts $+(#,.,$nick)
add.pts $+(#,.,$nick)
}
on !*:part:#:$+(.timerpoints.,#,.,$nick) off
alias -l add.pts {
writeini -n Points.ini $1 Points $calc($readini(Points.ini,$1,Points) + 1)
The cap does list all the users connected to the channel currently, but if the bot joins the channel while people are already there it doesn't see the users as "joining" however when someone else (Or if people leave and come back) joins the channel it will go on as normal and see that they have joined and trigger the event.
No, that's a rather terrible workaround. You shouldn't need to gather the entire list of users every 30 seconds. And I'm sure Twitch would not require that by design.
Now that you've posted your code I can see it has little to nothing to do with the new membership cap. It would have suffered the same problem in the past. When you join you need to start a timer for people already in the room.
If when you join a room the list of users on the nicklist is properly filled then you have access to that information, these normally come in on raw 353.
If you need to explain further please /debug @debug and paste all relevant information.
It did suffer in the past. But with the updates you couldn't see the nicklist unless you ran the cap line. So I have no idea how I would go about doing this so I'll just give it a shot in the dark.
Code:
raw 353:join:{
$+(.timerpoints.,#,.,$nick) 0 5 add.pts $+(#,.,$nick)
add.pts $+(#,.,$nick)
}
If it wasn't already clear I'm pretty bad / lack the know-how on this stuff. Again forgive my ignorance.