Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- namespace MrTell.Plugins
- {
- class MemoPlugin : Plugin
- {
- List<MemoUser> memoUsers = new List<MemoUser>();
- public MemoPlugin()
- {
- Name = "User Memos";
- Cmd = "!memo";
- Help = "Usage: !memo <user> <message>";
- AllowEvents = true;
- }
- public override void PluginStart()
- {
- base.PluginStart();
- }
- public override void PluginMessageReceived(IRCMessage ircMessage)
- {
- if (ircMessage.Parameters[0] == "!memo")
- {
- if (ircMessage.Parameters.Length > 1)
- {
- string memoMessage = "";
- string targetNick = ircMessage.Parameters[1];
- if( ircMessage.Parameters.Length > 2)
- memoMessage = string.Join(" ", ircMessage.Parameters.Skip(2).ToArray());
- MemoUser user = memoUsers.Find(memo => memo.Nick == targetNick);
- //If user doesnt exist, Then create.
- if (user == null)
- {
- Console.WriteLine("Created User");
- user = new MemoUser();
- user.Nick = targetNick;
- memoUsers.Add(user);
- }
- //Now add the memo to the user
- if( !string.IsNullOrEmpty(memoMessage) )
- user.Messages.Add("Message From " + ircMessage.Nick + ": " + memoMessage);
- }
- }
- //User has joined
- if (ircMessage.Command == "JOIN")
- {
- //Find the user in Memos
- MemoUser user = memoUsers.Find(memo => memo.Nick == ircMessage.Nick);
- if (user != null)
- {
- Console.WriteLine("Sending memo to user Count: {0}", user.Messages.Count);
- foreach (string message in user.Messages)
- {
- IrcBot.SendMessage(message);
- }
- user.Messages.Clear();
- }
- }
- base.PluginMessageReceived(ircMessage);
- }
- }
- class MemoUser
- {
- public string Nick;
- public List<string> Messages = new List<string>();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement