Skip to content
This repository has been archived by the owner on Feb 5, 2019. It is now read-only.

Stem.privilege returns wrong privilege level #35

Open
alolis opened this issue Jul 31, 2011 · 5 comments
Open

Stem.privilege returns wrong privilege level #35

alolis opened this issue Jul 31, 2011 · 5 comments

Comments

@alolis
Copy link

alolis commented Jul 31, 2011

I have implemented on my leaf the someone_did_join_channel event and I have noticed the following:

  1. Channel Founder (+q) or Channel Admin (+a) joins the channel and gets the user mode from chanserv.
  2. someone_did_join_channel() is called and the first method i am calling inside the event is stem.privilege(channel, nick) which i would expect to return :channel_owner or :admin symbol but instead i am getting :unvoiced

I really do not understand at what point the users get updated with their proper channel levels. This is very confusing

@alolis
Copy link
Author

alolis commented Jul 31, 2011

Some further info. If the user is a channel operator (+o) the whole thing works as expected. I can see the problem with admins and channel owners only. Here is the difference when a channel operator joins and when owner/admin joins:

OPERATOR CASE:

  • THEBOT gives channel operator status to arekanderu

OWNER/ADMIN CASE:

  • THEBOT sets mode +q #somechannel arekanderu
  • THEBOT gives channel operator status to arekanderu

@alolis
Copy link
Author

alolis commented Jul 31, 2011

I have some further info regarding this issue. I was able to reproduce the problem with channel operators as well. If the channel operator has a greet message then I can see the problem. Example of channel operator with greet message joining channel:

  • THEBOT [arekanderu] This is a test message
  • THEBOT gives channel operator status to arekanderu

In addition, i have set type: op for one of my leafs in leaves.yml and implemented a method which uses authentication as follows:

def test_command(stem, sender, reply_to, message)
    # do stuff
end
ann :test_command, :protected => true

The bot will return "Only an op can do that" if one of the cases i described occur. It will work normal if the user is a channel operator without a greet message.

@alolis
Copy link
Author

alolis commented Aug 1, 2011

I have some more info. I though that if it's a channel operator without a greet message it will work properly but it seems that I didn't took under consideration that I had a sleep(2) before I make the call to stem.privilege. If i remove the sleep the problem is 100% reproducible. Looks like that the users are not refreshed on time/properly but if I add the sleep the users refresh completes on time.

This is the code which I have and it only works properly with chan ops without greet message:

def someone_did_join_channel(stem, sender, channel)
   sleep(2)
   privilege = stem.privilege(channel, sender[:nick])
end

Waiting for your comments Tim and hopefully for a solution. This is causing way too much headache for me at the moment.

@alolis
Copy link
Author

alolis commented Aug 20, 2011

Any updates on the issue? =/

@alolis
Copy link
Author

alolis commented Sep 3, 2011

Over a month and still no reply...

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant