]>
jfr.im git - irc/quakenet/qwebirc.git/blob - js/ui/menuitems.js
1 qwebirc
.ui
.UI_COMMANDS_P1
= [
2 ["Options", "options"],
3 ["Add webchat to your site", "embedded"]
6 qwebirc
.ui
.UI_COMMANDS_P2
= [
7 ["Feedback", "feedback"],
8 ["About qwebirc", "about"]
11 qwebirc
.ui
.MENU_ITEMS = function() {
12 var isOpped = function(nick
) {
13 var channel
= this.name
; /* window name */
14 var myNick
= this.client
.nickname
;
16 return this.client
.nickOnChanHasAtLeastPrefix(myNick
, channel
, "@");
19 var isVoiced = function(nick
) {
20 var channel
= this.name
;
21 var myNick
= this.client
.nickname
;
23 return this.client
.nickOnChanHasPrefix(myNick
, channel
, "+");
26 var targetOpped = function(nick
) {
27 var channel
= this.name
;
28 return this.client
.nickOnChanHasPrefix(nick
, channel
, "@");
31 var targetVoiced = function(nick
) {
32 var channel
= this.name
;
33 return this.client
.nickOnChanHasPrefix(nick
, channel
, "+");
36 var isIgnored = function(nick
) {
37 return this.client
.isIgnored(nick
);
40 var invert
= qwebirc
.util
.invertFn
, compose
= qwebirc
.util
.composeAnd
;
42 var command = function(cmd
) {
43 return function(nick
) { this.client
.exec("/" + cmd
+ " " + nick
); };
59 fn: function(nick
) { this.client
.exec("/ME slaps " + nick
+ " around a bit with a large fishbot"); },
63 text: "kick", /* TODO: disappear when we're deopped */
64 fn: function(nick
) { this.client
.exec("/KICK " + nick
+ " wibble"); },
70 predicate: compose(isOpped
, invert(targetOpped
))
75 predicate: compose(isOpped
, targetOpped
)
80 predicate: compose(isOpped
, invert(targetVoiced
))
84 fn: command("devoice"),
85 predicate: compose(isOpped
, targetVoiced
)
89 fn: command("ignore"),
90 predicate: invert(isIgnored
)
94 fn: command("unignore"),