mirror of
https://github.com/reactos/reactos.git
synced 2025-08-06 13:13:00 +00:00
Implement "!bug <number>" command.
svn path=/trunk/; revision=20165
This commit is contained in:
parent
bd0b0b3d09
commit
27f6a74ba6
8 changed files with 89 additions and 6 deletions
54
irc/TechBot/TechBot.Library/BugCommand.cs
Normal file
54
irc/TechBot/TechBot.Library/BugCommand.cs
Normal file
|
@ -0,0 +1,54 @@
|
|||
using System;
|
||||
|
||||
namespace TechBot.Library
|
||||
{
|
||||
public class BugCommand : BaseCommand, ICommand
|
||||
{
|
||||
private IServiceOutput serviceOutput;
|
||||
private string bugUrl;
|
||||
|
||||
public BugCommand(IServiceOutput serviceOutput,
|
||||
string bugUrl)
|
||||
{
|
||||
this.serviceOutput = serviceOutput;
|
||||
this.bugUrl = bugUrl;
|
||||
}
|
||||
|
||||
public bool CanHandle(string commandName)
|
||||
{
|
||||
return CanHandle(commandName,
|
||||
new string[] { "bug" });
|
||||
}
|
||||
|
||||
public void Handle(MessageContext context,
|
||||
string commandName,
|
||||
string parameters)
|
||||
{
|
||||
string bugText = parameters;
|
||||
if (bugText.Equals(String.Empty))
|
||||
{
|
||||
serviceOutput.WriteLine(context,
|
||||
"Please provide a valid bug number.");
|
||||
return;
|
||||
}
|
||||
|
||||
NumberParser np = new NumberParser();
|
||||
long bug = np.Parse(bugText);
|
||||
if (np.Error)
|
||||
{
|
||||
serviceOutput.WriteLine(context,
|
||||
String.Format("{0} is not a valid bug number.",
|
||||
bugText));
|
||||
return;
|
||||
}
|
||||
|
||||
serviceOutput.WriteLine(context,
|
||||
String.Format(bugUrl, bug));
|
||||
}
|
||||
|
||||
public string Help()
|
||||
{
|
||||
return "!bug <number>";
|
||||
}
|
||||
}
|
||||
}
|
|
@ -18,6 +18,7 @@ namespace TechBot.Library
|
|||
private string hresultXml;
|
||||
private string wmXml;
|
||||
private string svnCommand;
|
||||
private string bugUrl;
|
||||
private IrcClient client;
|
||||
private ArrayList channels = new ArrayList(); /* IrcChannel */
|
||||
private TechBotService service;
|
||||
|
@ -33,7 +34,8 @@ namespace TechBot.Library
|
|||
string winerrorXml,
|
||||
string hresultXml,
|
||||
string wmXml,
|
||||
string svnCommand)
|
||||
string svnCommand,
|
||||
string bugUrl)
|
||||
{
|
||||
this.hostname = hostname;
|
||||
this.port = port;
|
||||
|
@ -46,6 +48,7 @@ namespace TechBot.Library
|
|||
this.hresultXml = hresultXml;
|
||||
this.wmXml = wmXml;
|
||||
this.svnCommand = svnCommand;
|
||||
this.bugUrl = bugUrl;
|
||||
}
|
||||
|
||||
public void Run()
|
||||
|
@ -57,7 +60,8 @@ namespace TechBot.Library
|
|||
winerrorXml,
|
||||
hresultXml,
|
||||
wmXml,
|
||||
svnCommand);
|
||||
svnCommand,
|
||||
bugUrl);
|
||||
service.Run();
|
||||
|
||||
client = new IrcClient();
|
||||
|
|
|
@ -13,6 +13,7 @@
|
|||
<File name=".\HresultCommand.cs" subtype="Code" buildaction="Compile" dependson="" data="" />
|
||||
<File name=".\WinerrorCommand.cs" subtype="Code" buildaction="Compile" dependson="" data="" />
|
||||
<File name=".\SvnCommand.cs" subtype="Code" buildaction="Compile" dependson="" data="" />
|
||||
<File name=".\BugCommand.cs" subtype="Code" buildaction="Compile" dependson="" data="" />
|
||||
<File name=".\WmCommand.cs" subtype="Code" buildaction="Compile" dependson="" data="" />
|
||||
<File name=".\MessageContext.cs" subtype="Code" buildaction="Compile" dependson="" data="" />
|
||||
</Contents>
|
||||
|
|
|
@ -17,6 +17,7 @@ namespace TechBot.Library
|
|||
private string hresultXml;
|
||||
private string wmXml;
|
||||
private string svnCommand;
|
||||
private string bugUrl;
|
||||
private ArrayList commands = new ArrayList();
|
||||
|
||||
public TechBotService(IServiceOutput serviceOutput,
|
||||
|
@ -26,7 +27,8 @@ namespace TechBot.Library
|
|||
string winerrorXml,
|
||||
string hresultXml,
|
||||
string wmXml,
|
||||
string svnCommand)
|
||||
string svnCommand,
|
||||
string bugUrl)
|
||||
{
|
||||
this.serviceOutput = serviceOutput;
|
||||
this.chmPath = chmPath;
|
||||
|
@ -36,6 +38,7 @@ namespace TechBot.Library
|
|||
this.hresultXml = hresultXml;
|
||||
this.wmXml = wmXml;
|
||||
this.svnCommand = svnCommand;
|
||||
this.bugUrl = bugUrl;
|
||||
}
|
||||
|
||||
public void Run()
|
||||
|
@ -55,6 +58,8 @@ namespace TechBot.Library
|
|||
wmXml));
|
||||
commands.Add(new SvnCommand(serviceOutput,
|
||||
svnCommand));
|
||||
commands.Add(new BugCommand(serviceOutput,
|
||||
bugUrl));
|
||||
}
|
||||
|
||||
public void InjectMessage(MessageContext context,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue