在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不支持

在IRC中检查排名

您需要将每个&&条件用括号括起来。

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
}