mirror of
https://github.com/reality/dbot.git
synced 2024-11-23 20:39:25 +01:00
Module documentation for Admin module [#75]
* Also removed lock functionality from quotes and admin modules.
This commit is contained in:
parent
5bf5b257f8
commit
1746a9c7b8
57
modules/admin/README.md
Normal file
57
modules/admin/README.md
Normal file
@ -0,0 +1,57 @@
|
||||
## Admin
|
||||
|
||||
Administrator functionality.
|
||||
|
||||
### Description
|
||||
|
||||
Various administration functionality such as banning users, hot-reloading the
|
||||
code and ordering him to talk. Note that commands added here are handled with
|
||||
their own listener, rather than being part of the command logic which is handled
|
||||
by the Command module. Functionality in this module can be slightly unsafe as
|
||||
not everything is thoroughly sanity checked.
|
||||
|
||||
### Commands
|
||||
|
||||
#### join [#channel]
|
||||
Join the given channel.
|
||||
|
||||
#### part [#channel]
|
||||
Leave the given channel.
|
||||
|
||||
#### opme [#channel]
|
||||
Gives the caller ops in a given channel if possible. If called without a
|
||||
channel, it will attempt to give the caller ops in the current channel.
|
||||
|
||||
#### greload
|
||||
Perform a git pull, and then execute the 'reload' command. Saves a lot of time
|
||||
updating!
|
||||
|
||||
#### reload
|
||||
Reload all of the modules currently in use by DBot. By using this, all module
|
||||
functionality should be reloadable and replaceable without having to restart the
|
||||
bot or interrupt the connection to the server.
|
||||
|
||||
#### say [#channel] [message]
|
||||
Have DBot post the given message in the given channel (uses the server from
|
||||
which you are sending the message). You may replace channel with '@' to have him
|
||||
post the message in the current channel. Channel may also be replaced with a
|
||||
nick on the server.
|
||||
|
||||
#### load [module]
|
||||
Load a new module. This works by adding a module name to the roster and then
|
||||
triggering a reload of all modules, at which point the new module is actually
|
||||
loaded by the standard DBot process.
|
||||
|
||||
#### unload [module]
|
||||
Unload a currently loaded module. This removes the module, and then triggers a
|
||||
reload of all modules.
|
||||
|
||||
#### ban [user] [command]
|
||||
Ban a user from using a command. Command may be replaced with '\*,' which will
|
||||
ban a user from use of all commands. Users banned from all commands will still
|
||||
be subject to module listeners.
|
||||
|
||||
#### unban [user] [command]
|
||||
Unban a user from using a given command. If a user was previously banned using
|
||||
the '\*' wildcard, they may also be unbanned from such by replacing command with
|
||||
an asterisk here as well.
|
@ -116,13 +116,6 @@ var admin = function(dbot) {
|
||||
} else {
|
||||
event.reply(dbot.t('unban_error', {'user': username}));
|
||||
}
|
||||
},
|
||||
|
||||
// Lock quote category so quotes can't be removed
|
||||
'lock': function(event) {
|
||||
var category = event.params[1];
|
||||
dbot.db.locks.push(category);
|
||||
event.reply(dbot.t('qlock', {'category': category}));
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -1,3 +1,3 @@
|
||||
{
|
||||
"dbKeys": [ "bans", "locks" ]
|
||||
"dbKeys": [ "bans" ]
|
||||
}
|
||||
|
@ -157,17 +157,13 @@ var quotes = function(dbot) {
|
||||
if(rmAllowed == true || dbot.config.admins.include(event.user)) {
|
||||
var key = event.input[1].trim().toLowerCase();
|
||||
if(quotes.hasOwnProperty(key)) {
|
||||
if(!dbot.db.locks.include(key) || dbot.config.admins.include(event.user)) {
|
||||
var quote = quotes[key].pop();
|
||||
if(quotes[key].length === 0) {
|
||||
delete quotes[key];
|
||||
}
|
||||
resetRemoveTimer(event, key, quote);
|
||||
|
||||
event.reply(dbot.t('removed_from', {'quote': quote, 'category': key}));
|
||||
} else {
|
||||
event.reply(dbot.t('locked_category', {'category': q[1]}));
|
||||
var quote = quotes[key].pop();
|
||||
if(quotes[key].length === 0) {
|
||||
delete quotes[key];
|
||||
}
|
||||
resetRemoveTimer(event, key, quote);
|
||||
|
||||
event.reply(dbot.t('removed_from', {'quote': quote, 'category': key}));
|
||||
} else {
|
||||
event.reply(dbot.t('no_quotes', {'category': q[1]}));
|
||||
}
|
||||
@ -182,22 +178,18 @@ var quotes = function(dbot) {
|
||||
var quote = event.input[2];
|
||||
|
||||
if(quotes.hasOwnProperty(key)) {
|
||||
if(!dbot.db.locks.include(key)) {
|
||||
var category = quotes[key];
|
||||
var index = category.indexOf(quote);
|
||||
if(index !== -1) {
|
||||
category.splice(index, 1);
|
||||
if(category.length === 0) {
|
||||
delete quotes[key];
|
||||
}
|
||||
resetRemoveTimer(event, key, quote);
|
||||
|
||||
event.reply(dbot.t('removed_from', {'category': key, 'quote': quote}));
|
||||
} else {
|
||||
event.reply(dbot.t('q_not_exist_under', {'category': key, 'quote': quote}));
|
||||
var category = quotes[key];
|
||||
var index = category.indexOf(quote);
|
||||
if(index !== -1) {
|
||||
category.splice(index, 1);
|
||||
if(category.length === 0) {
|
||||
delete quotes[key];
|
||||
}
|
||||
resetRemoveTimer(event, key, quote);
|
||||
|
||||
event.reply(dbot.t('removed_from', {'category': key, 'quote': quote}));
|
||||
} else {
|
||||
event.reply(dbot.t('locked_category', {'category': key}));
|
||||
event.reply(dbot.t('q_not_exist_under', {'category': key, 'quote': quote}));
|
||||
}
|
||||
} else {
|
||||
event.reply(dbot.t('category_not_found', {'category': key}));
|
||||
|
Loading…
Reference in New Issue
Block a user