-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathStats.cs
63 lines (52 loc) · 1.41 KB
/
Stats.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
using System.Collections.Generic;
using MikuBot.Commands;
using MikuBot.Modules;
namespace MikuBot.ExtraPlugins
{
public class Stats : MsgCommandModuleBase
{
private readonly Dictionary<IrcName, string> statLocations = new Dictionary<IrcName, string> {
{ new IrcName("#vocadb"), "http://mikustats.vocaloid.eu" },
{ new IrcName("#yama"), "http://yamastats.vocaloid.eu" }
};
public override int CooldownChannelMs
{
get { return 10000; }
}
public override int CooldownUserMs
{
get { return 30000; }
}
public override string CommandDescription
{
get
{
return "Displays stats location. Channel name is optional. If it's not specified, stats will be displayed for the current channel, if available.";
}
}
public override string UsageHelp
{
get
{
return "stats [<channel name>]";
}
}
public override void HandleCommand(MsgCommand msg, IBotContext bot)
{
if (!CheckCall(msg, bot))
return;
string statLocation = null;
if (msg.BotCommand.Params.HasParam(0))
{
statLocations.TryGetValue(new IrcName(msg.BotCommand.Params[0]), out statLocation);
}
if (statLocation == null && !statLocations.TryGetValue(msg.Receiver, out statLocation))
statLocation = "http://stats.vocaloid.eu";
bot.Writer.Msg(msg.ChannelOrSenderNick, "Stats can be found at " + statLocation);
}
public override string Name
{
get { return "Stats"; }
}
}
}