Minor work on getting history command to be configurable and also
display a certain number of main chat history lines after login.
This commit is contained in:
parent
c70119870a
commit
e8957db819
@ -132,19 +132,40 @@ static int command_status_user_not_found(struct hub_info* hub, struct hub_user*
|
|||||||
const char* command_get_syntax(struct commands_handler* handler)
|
const char* command_get_syntax(struct commands_handler* handler)
|
||||||
{
|
{
|
||||||
static char args[128];
|
static char args[128];
|
||||||
|
int optional = 0;
|
||||||
size_t n = 0;
|
size_t n = 0;
|
||||||
args[0] = 0;
|
args[0] = 0;
|
||||||
if (handler->args)
|
if (handler->args)
|
||||||
{
|
{
|
||||||
for (n = 0; n < strlen(handler->args); n++)
|
for (n = 0; n < strlen(handler->args); n++)
|
||||||
{
|
{
|
||||||
|
// detect optionals
|
||||||
|
if (handler->args[n] == '?')
|
||||||
|
{
|
||||||
|
optional = 1;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
if (n > 0) strcat(args, " ");
|
if (n > 0) strcat(args, " ");
|
||||||
|
|
||||||
|
if (optional)
|
||||||
|
{
|
||||||
|
strcat(args, "[");
|
||||||
|
}
|
||||||
|
|
||||||
switch (handler->args[n])
|
switch (handler->args[n])
|
||||||
{
|
{
|
||||||
case 'n': strcat(args, "<nick>"); break;
|
case 'n': strcat(args, "<nick>"); break;
|
||||||
case 'c': strcat(args, "<cid>"); break;
|
case 'c': strcat(args, "<cid>"); break;
|
||||||
case 'a': strcat(args, "<addr>"); break;
|
case 'a': strcat(args, "<addr>"); break;
|
||||||
case 'm': strcat(args, "<message>"); break;
|
case 'm': strcat(args, "<message>"); break;
|
||||||
|
case 'i': strcat(args, "<number>"); break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (optional)
|
||||||
|
{
|
||||||
|
strcat(args, "]");
|
||||||
|
optional = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -606,7 +627,7 @@ static struct commands_handler command_handlers[] = {
|
|||||||
#endif
|
#endif
|
||||||
{ "getip", 5, "n", cred_operator, command_getip, "Show IP address for a user" },
|
{ "getip", 5, "n", cred_operator, command_getip, "Show IP address for a user" },
|
||||||
{ "help", 4, 0, cred_guest, command_help, "Show this help message." },
|
{ "help", 4, 0, cred_guest, command_help, "Show this help message." },
|
||||||
{ "history", 7, 0, cred_guest, command_history, "Show the last chat messages." },
|
{ "history", 7, "?i",cred_guest, command_history, "Show the last chat messages." },
|
||||||
{ "kick", 4, "n", cred_operator, command_kick, "Kick a user" },
|
{ "kick", 4, "n", cred_operator, command_kick, "Kick a user" },
|
||||||
{ "log", 3, 0, cred_operator, command_log, "Display log" },
|
{ "log", 3, 0, cred_operator, command_log, "Display log" },
|
||||||
{ "motd", 4, 0, cred_guest, command_motd, "Show the message of the day" },
|
{ "motd", 4, 0, cred_guest, command_motd, "Show the message of the day" },
|
||||||
|
@ -211,6 +211,17 @@
|
|||||||
<since>0.3.0</since>
|
<since>0.3.0</since>
|
||||||
</option>
|
</option>
|
||||||
|
|
||||||
|
<option name="history_on_login" type="int" default="0">
|
||||||
|
<check min="0" max="250" />
|
||||||
|
<short>Send chat message history when logging in</short>
|
||||||
|
<description><![CDATA[
|
||||||
|
This specifies the number of chat messages that are sent to all users when logging in.
|
||||||
|
Users can use the "!history" command to list these messages later.
|
||||||
|
]]></description>
|
||||||
|
<since>0.3.2</since>
|
||||||
|
</option>
|
||||||
|
|
||||||
|
|
||||||
<option name="max_logout_log" type="int" default="20">
|
<option name="max_logout_log" type="int" default="20">
|
||||||
<check min="0" max="2000" />
|
<check min="0" max="2000" />
|
||||||
<short>Number of log entries for people leaving the hub</short>
|
<short>Number of log entries for people leaving the hub</short>
|
||||||
|
Loading…
Reference in New Issue
Block a user