| 699 | | self.session.send("MODE %s +o %s" % (self.name,nick)) |
|---|
| 700 | | self.requests.add("MODE",stanza,("+o",normalize(nick))) |
|---|
| | 701 | if user in self.modes.get("v",[]): |
|---|
| | 702 | change="-v+o %s %s" % (nick,nick) |
|---|
| | 703 | else: |
|---|
| | 704 | change="+o "+nick |
|---|
| | 705 | self.session.send("MODE %s %s" % (self.name,change)) |
|---|
| | 706 | self.requests.add("MODE",stanza,change) |
|---|
| | 707 | |
|---|
| | 708 | def voice_user(self,nick,stanza): |
|---|
| | 709 | nick=nick.encode(self.encoding,"strict") |
|---|
| | 710 | user=self.session.users.get(normalize(nick)) |
|---|
| | 711 | if not user in self.users: |
|---|
| | 712 | r=stanza.make_error_response("item-not-found") |
|---|
| | 713 | self.session.component.send(r) |
|---|
| | 714 | return |
|---|
| | 715 | if user in self.modes.get("v",[]): |
|---|
| | 716 | r=stanza.make_result_response() |
|---|
| | 717 | self.session.component.send(r) |
|---|
| | 718 | return |
|---|
| | 719 | if user in self.modes.get("o",[]): |
|---|
| | 720 | change="-o+v %s %s" % (nick,nick) |
|---|
| | 721 | else: |
|---|
| | 722 | change="+v "+nick |
|---|
| | 723 | self.session.send("MODE %s %s" % (self.name,change)) |
|---|
| | 724 | self.requests.add("MODE",stanza,change) |
|---|
| | 725 | |
|---|
| | 726 | def devoice_user(self,nick,stanza): |
|---|
| | 727 | nick=nick.encode(self.encoding,"strict") |
|---|
| | 728 | user=self.session.users.get(normalize(nick)) |
|---|
| | 729 | if not user in self.users: |
|---|
| | 730 | r=stanza.make_error_response("item-not-found") |
|---|
| | 731 | self.session.component.send(r) |
|---|
| | 732 | return |
|---|
| | 733 | if user in self.modes.get("v",[]) and user in self.modes.get("o",[]): |
|---|
| | 734 | change="-o-v %s %s" % (nick,nick) |
|---|
| | 735 | elif user in self.modes.get("o",[]): |
|---|
| | 736 | change="-o "+nick |
|---|
| | 737 | elif user in self.modes.get("v",[]): |
|---|
| | 738 | change="-v "+nick |
|---|
| | 739 | else: |
|---|
| | 740 | r=stanza.make_result_response() |
|---|
| | 741 | self.session.component.send(r) |
|---|
| | 742 | return |
|---|
| | 743 | self.session.send("MODE %s %s" % (self.name,change)) |
|---|
| | 744 | self.requests.add("MODE",stanza,change) |
|---|