Different output for !bug command on the other channels. (#winehackers, #samba-technical)

svn path=/trunk/; revision=20590
This commit is contained in:
Maarten Bosma 2006-01-05 21:46:24 +00:00
parent 8218812468
commit 6de3d3ca11
7 changed files with 84 additions and 17 deletions

View file

@ -12,7 +12,9 @@
<add key="WinerrorXml" value="C:\IRC\TechBot\winerror.xml" /> <add key="WinerrorXml" value="C:\IRC\TechBot\winerror.xml" />
<add key="HresultXml" value="C:\IRC\TechBot\hresult.xml" /> <add key="HresultXml" value="C:\IRC\TechBot\hresult.xml" />
<add key="WmXml" value="C:\IRC\TechBot\wm.xml" /> <add key="WmXml" value="C:\IRC\TechBot\wm.xml" />
<add key="SvnCommand" value="svn co svn://svn.reactos.com/trunk/reactos" /> <add key="SvnCommand" value="svn co svn://svn.reactos.org/trunk/reactos" />
<add key="BugUrl" value="www.reactos.org/bugzilla/show_bug.cgi?id={0}" /> <add key="BugUrl" value="http://www.reactos.org/bugzilla/show_bug.cgi?id={0}" />
<add key="WineBugUrl" value="http://bugs.winehq.org/show_bug.cgi?id={0}" />
<add key="SambaBugUrl" value="https://bugzilla.samba.org/show_bug.cgi?id={0}" />
</appSettings> </appSettings>
</configuration> </configuration>

View file

@ -182,6 +182,32 @@ namespace TechBot.Console
} }
} }
private static string WineBugUrl
{
get
{
string optionName = "WineBugUrl";
string s = ConfigurationSettings.AppSettings[optionName];
VerifyRequiredOption(optionName,
s);
return s;
}
}
private static string SambaBugUrl
{
get
{
string optionName = "SambaBugUrl";
string s = ConfigurationSettings.AppSettings[optionName];
VerifyRequiredOption(optionName,
s);
return s;
}
}
private static void RunIrcService() private static void RunIrcService()
{ {
IrcService ircService = new IrcService(IRCServerHostName, IrcService ircService = new IrcService(IRCServerHostName,
@ -196,7 +222,9 @@ namespace TechBot.Console
HresultXml, HresultXml,
WmXml, WmXml,
SvnCommand, SvnCommand,
BugUrl); BugUrl,
WineBugUrl,
SambaBugUrl);
ircService.Run(); ircService.Run();
} }
@ -217,7 +245,9 @@ namespace TechBot.Console
HresultXml, HresultXml,
WmXml, WmXml,
SvnCommand, SvnCommand,
BugUrl); BugUrl,
WineBugUrl,
SambaBugUrl);
service.Run(); service.Run();
while (true) while (true)
{ {

View file

@ -5,13 +5,19 @@ namespace TechBot.Library
public class BugCommand : BaseCommand, ICommand public class BugCommand : BaseCommand, ICommand
{ {
private IServiceOutput serviceOutput; private IServiceOutput serviceOutput;
private string bugUrl; private string RosBugUrl;
private string WineBugUrl;
private string SambaBugUrl;
public BugCommand(IServiceOutput serviceOutput, public BugCommand(IServiceOutput serviceOutput,
string bugUrl) string RosBugUrl,
string WineBugUrl,
string SambaBugUrl)
{ {
this.serviceOutput = serviceOutput; this.serviceOutput = serviceOutput;
this.bugUrl = bugUrl; this.RosBugUrl = RosBugUrl;
this.WineBugUrl = WineBugUrl;
this.SambaBugUrl = SambaBugUrl;
} }
public bool CanHandle(string commandName) public bool CanHandle(string commandName)
@ -41,7 +47,18 @@ namespace TechBot.Library
bugText)); bugText));
return; return;
} }
string bugUrl = this.RosBugUrl;
if (context is ChannelMessageContext)
{
ChannelMessageContext channelContext = context as ChannelMessageContext;
if (channelContext.Channel.Name == "winehackers")
bugUrl = this.WineBugUrl;
else if (channelContext.Channel.Name == "samba-technical")
bugUrl = this.SambaBugUrl;
}
serviceOutput.WriteLine(context, serviceOutput.WriteLine(context,
String.Format(bugUrl, bug)); String.Format(bugUrl, bug));
} }

View file

@ -19,7 +19,7 @@ namespace TechBot.Library
private string hresultXml; private string hresultXml;
private string wmXml; private string wmXml;
private string svnCommand; private string svnCommand;
private string bugUrl; private string bugUrl, WineBugUrl, SambaBugUrl;
private IrcClient client; private IrcClient client;
private ArrayList channels = new ArrayList(); /* IrcChannel */ private ArrayList channels = new ArrayList(); /* IrcChannel */
private TechBotService service; private TechBotService service;
@ -37,7 +37,9 @@ namespace TechBot.Library
string hresultXml, string hresultXml,
string wmXml, string wmXml,
string svnCommand, string svnCommand,
string bugUrl) string BugUrl,
string WineBugUrl,
string SambaBugUrl)
{ {
this.hostname = hostname; this.hostname = hostname;
this.port = port; this.port = port;
@ -54,7 +56,9 @@ namespace TechBot.Library
this.hresultXml = hresultXml; this.hresultXml = hresultXml;
this.wmXml = wmXml; this.wmXml = wmXml;
this.svnCommand = svnCommand; this.svnCommand = svnCommand;
this.bugUrl = bugUrl; this.bugUrl = BugUrl;
this.WineBugUrl = WineBugUrl;
this.SambaBugUrl = SambaBugUrl;
} }
public void Run() public void Run()
@ -67,7 +71,9 @@ namespace TechBot.Library
hresultXml, hresultXml,
wmXml, wmXml,
svnCommand, svnCommand,
bugUrl); bugUrl,
WineBugUrl,
SambaBugUrl);
service.Run(); service.Run();
client = new IrcClient(); client = new IrcClient();

View file

@ -17,7 +17,7 @@ namespace TechBot.Library
private string hresultXml; private string hresultXml;
private string wmXml; private string wmXml;
private string svnCommand; private string svnCommand;
private string bugUrl; private string bugUrl, WineBugUrl, SambaBugUrl;
private ArrayList commands = new ArrayList(); private ArrayList commands = new ArrayList();
public TechBotService(IServiceOutput serviceOutput, public TechBotService(IServiceOutput serviceOutput,
@ -28,7 +28,9 @@ namespace TechBot.Library
string hresultXml, string hresultXml,
string wmXml, string wmXml,
string svnCommand, string svnCommand,
string bugUrl) string bugUrl,
string WineBugUrl,
string SambaBugUrl)
{ {
this.serviceOutput = serviceOutput; this.serviceOutput = serviceOutput;
this.chmPath = chmPath; this.chmPath = chmPath;
@ -39,6 +41,8 @@ namespace TechBot.Library
this.wmXml = wmXml; this.wmXml = wmXml;
this.svnCommand = svnCommand; this.svnCommand = svnCommand;
this.bugUrl = bugUrl; this.bugUrl = bugUrl;
this.WineBugUrl = WineBugUrl;
this.SambaBugUrl = SambaBugUrl;
} }
public void Run() public void Run()
@ -63,7 +67,9 @@ namespace TechBot.Library
commands.Add(new SvnCommand(serviceOutput, commands.Add(new SvnCommand(serviceOutput,
svnCommand)); svnCommand));
commands.Add(new BugCommand(serviceOutput, commands.Add(new BugCommand(serviceOutput,
bugUrl)); bugUrl,
WineBugUrl,
SambaBugUrl));
} }
public void InjectMessage(MessageContext context, public void InjectMessage(MessageContext context,

View file

@ -13,6 +13,8 @@
<add key="HresultXml" value="C:\IRC\TechBot\hresult.xml" /> <add key="HresultXml" value="C:\IRC\TechBot\hresult.xml" />
<add key="WmXml" value="C:\IRC\TechBot\wm.xml" /> <add key="WmXml" value="C:\IRC\TechBot\wm.xml" />
<add key="SvnCommand" value="svn co svn://svn.reactos.org/trunk/reactos" /> <add key="SvnCommand" value="svn co svn://svn.reactos.org/trunk/reactos" />
<add key="BugUrl" value="www.reactos.org/bugzilla/show_bug.cgi?id={0}" /> <add key="BugUrl" value="http://www.reactos.org/bugzilla/show_bug.cgi?id={0}" />
<add key="WineBugUrl" value="http://bugs.winehq.org/show_bug.cgi?id={0}" />
<add key="SambaBugUrl" value="https://bugzilla.samba.org/show_bug.cgi?id={0}" />
</appSettings> </appSettings>
</configuration> </configuration>

View file

@ -19,7 +19,7 @@ namespace TechBot
private string WmXml; private string WmXml;
private string WinerrorXml; private string WinerrorXml;
private string SvnCommand; private string SvnCommand;
private string BugUrl; private string BugUrl, WineBugUrl, SambaBugUrl;
private EventLog eventLog; private EventLog eventLog;
public ServiceThread(EventLog eventLog) public ServiceThread(EventLog eventLog)
@ -42,6 +42,8 @@ namespace TechBot
WinerrorXml = ConfigurationSettings.AppSettings["WinerrorXml"]; WinerrorXml = ConfigurationSettings.AppSettings["WinerrorXml"];
SvnCommand = ConfigurationSettings.AppSettings["SvnCommand"]; SvnCommand = ConfigurationSettings.AppSettings["SvnCommand"];
BugUrl = ConfigurationSettings.AppSettings["BugUrl"]; BugUrl = ConfigurationSettings.AppSettings["BugUrl"];
WineBugUrl = ConfigurationSettings.AppSettings["WineBugUrl"];
SambaBugUrl = ConfigurationSettings.AppSettings["SambaBugUrl"];
} }
public void Run() public void Run()
@ -61,7 +63,9 @@ namespace TechBot
HresultXml, HresultXml,
WmXml, WmXml,
SvnCommand, SvnCommand,
BugUrl); BugUrl,
WineBugUrl,
SambaBugUrl);
ircService.Run(); ircService.Run();
} }