Advertisement
mikembley

Untitled

Nov 9th, 2011
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.47 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5.  
  6. namespace MrTell.Plugins
  7. {
  8.     class MemoPlugin : Plugin
  9.     {
  10.         List<MemoUser> memoUsers = new List<MemoUser>();
  11.  
  12.         public MemoPlugin()
  13.         {
  14.             Name = "User Memos";
  15.             Cmd = "!memo";
  16.             Help = "Usage: !memo <user> <message>";
  17.             AllowEvents = true;
  18.         }
  19.  
  20.         public override void PluginStart()
  21.         {
  22.             base.PluginStart();
  23.         }
  24.  
  25.         public override void PluginMessageReceived(IRCMessage ircMessage)
  26.         {
  27.             if (ircMessage.Parameters[0] == "!memo")
  28.             {
  29.                 if (ircMessage.Parameters.Length > 1)
  30.                 {
  31.                     string memoMessage = "";
  32.                     string targetNick = ircMessage.Parameters[1];
  33.  
  34.                     if( ircMessage.Parameters.Length > 2)
  35.                         memoMessage = string.Join(" ", ircMessage.Parameters.Skip(2).ToArray());
  36.  
  37.                     MemoUser user = memoUsers.Find(memo => memo.Nick == targetNick);
  38.  
  39.                     //If user doesnt exist, Then create.
  40.                     if (user == null)
  41.                     {
  42.                         Console.WriteLine("Created User");
  43.                         user = new MemoUser();
  44.                         user.Nick = targetNick;
  45.                         memoUsers.Add(user);
  46.                     }
  47.  
  48.                     //Now add the memo to the user
  49.                     if( !string.IsNullOrEmpty(memoMessage) )
  50.                         user.Messages.Add("Message From " + ircMessage.Nick + ": " + memoMessage);
  51.                 }
  52.             }
  53.  
  54.             //User has joined
  55.             if (ircMessage.Command == "JOIN")
  56.             {
  57.                 //Find the user in Memos
  58.                 MemoUser user = memoUsers.Find(memo => memo.Nick == ircMessage.Nick);
  59.  
  60.                 if (user != null)
  61.                 {
  62.                     Console.WriteLine("Sending memo to user Count: {0}", user.Messages.Count);
  63.                     foreach (string message in user.Messages)
  64.                     {
  65.                         IrcBot.SendMessage(message);
  66.                     }
  67.  
  68.                     user.Messages.Clear();
  69.                 }
  70.             }
  71.  
  72.             base.PluginMessageReceived(ircMessage);
  73.         }
  74.     }
  75.  
  76.     class MemoUser
  77.     {
  78.         public string Nick;
  79.         public List<string> Messages = new List<string>();
  80.     }
  81. }
  82.  
  83.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement