chatsharp/Example/Program.cs

29 lines
868 B
C#

var client = new IrcClient("irc.libera.chat", new("chatsharp"));
client.ConnectionComplete += (_, _) => client.JoinChannel("##chatsharp");
client.ChannelMessageReceived += (s, e) =>
{
var channel = client.Channels[e.PrivateMessage.Source];
if (e.PrivateMessage.Message == ".list")
{
channel.SendMessage(string.Join(", ", channel.Users.Select(u => u.Nick)));
}
else if (e.PrivateMessage.Message.StartsWith(".ban "))
{
if (!channel.UsersByMode?['@'].Contains(client.User) ?? false)
{
channel.SendMessage("I'm not an op here!");
return;
}
var target = e.PrivateMessage.Message[5..];
client.WhoIs(target, whois => channel.ChangeMode($"+b *!*@{whois.User.Hostname}"));
}
Console.WriteLine($"> {e.IrcMessage.Format()}");
};
client.ConnectAsync();
while (true)
{
}