在IRC中检查排名
本文关键字:检查 IRC | 更新日期: 2023-09-27 18:15:10
write("NAMES " + channel, writer);//build list of people in channel
String[] Users = reader.ReadLine().Split(' ');//read the line from NAMES, and split into Users array
String[] sender = nick.Split('!');//Person calling the bot
string[] args = data.Split('-');//Arguments to command (Not listed)
nick = sender[0].Substring(1);//Person callin the bot as above
foreach (string i in Users)
{
if (i.StartsWith("+") && i.EndsWith(nick) || i.StartsWith("%") && i.EndsWith(nick) || i.StartsWith("@") && i.EndsWith(nick) || i.StartsWith("&") && i.EndsWith(nick) || i.StartsWith("~") && i.EndsWith(nick))
{
Roll_Args(nick, args[1], args[2]);//If above is correct, roll the the command
}
}
由于某些原因,它不适用于@
,但它适用于+
。我不知道在IRC里还有什么别的方法可以检查排名。
有没有更可靠/有效的方法来检查IRC中的排名?
感谢您的阅读。
编辑:对于某些人的用户名/昵称,它有时并不总是有效。例如:@Oh_Herro_Der
不支持
您需要将每个&&
条件用括号括起来。
if (i.StartsWith("+") && i.EndsWith(nick))
|| (i.StartsWith("%") && i.EndsWith(nick))
|| (i.StartsWith("@") && i.EndsWith(nick))
|| (i.StartsWith("&") && i.EndsWith(nick))
|| (i.StartsWith("~") && i.EndsWith(nick)))
{
Roll_Args(nick, args[1], args[2]);//If above is correct, roll the the command
}