private void Ping(object sender, IRCEventArgs e) { if (e.Tokens[0].Equals("PING")) { Send(string.Format("PONG {0}", e.Tokens[1].Substring(1))); } }
private async void Identify(object sender, IRCEventArgs e) { if (e.Tokens[1].Equals("251")) { if (!string.IsNullOrWhiteSpace(Settings.NickservPassword)) { await SendAsync($"PRIVMSG NickServ :Identify {Settings.NickservPassword}"); } System.Threading.Thread.Sleep(1000); foreach (string channel in Settings.AutoJoinChannels) { await SendAsync($"JOIN {channel}"); } } }
private async void GetPixivAsync(object sender, IRCEventArgs args) { if (args.Tokens[1] == "PRIVMSG" && args.Tokens[2] == "#onioniichan") { var msgToken = args.Tokens[3]; if (msgToken.StartsWith(":")) { msgToken = msgToken.Substring(1); } if (msgToken.Contains(Pixiv.Utils.WorkPageURL_EN) || msgToken.Contains(Pixiv.Utils.WorkPageURL)) { try { long id = Pixiv.Utils.GetWorkID(msgToken); var channel = DiscordClient.Client.GetChannel(337692280267997196) as IMessageChannel; var illust = await PixivDownloader.GetIllustration(id); string tags = illust.Tags.ToString(); foreach (var result in PixivDownloader.DownloadIllistrationAsync(illust, maxBytes: 8388119).ToList()) { using (var image = await result) { string text = image.PageNumber == 0 ? $"Tags: {tags}" : string.Empty; if (!image.IsOriginal) { text += " (preview version)"; } var response = await channel.SendFileAsync(image.ImageData, image.Filename, string.IsNullOrEmpty(text)?null : text.Trim()); foreach (var attach in response.Attachments.Select(a => a.Url)) { await SendToChannelAsync("#onioniichan", attach); } } } } catch (Exception ex) { Console.WriteLine(ex.Message); await SendToChannelAsync("#onioniichan", "Error fetching the image"); } finally { } } } }
private void DisplayLine(object sender, IRCEventArgs e) { Console.WriteLine(e.Line); }
public virtual void OnWriteLine(IRCEventArgs args) { WriteLine?.Invoke(this, args); }
public virtual void OnReadLine(IRCEventArgs args) { ReadLine?.Invoke(this, args); }