public bool Process(TypableMapCommandProcessor processor, PrivMsgMessage msg, Status status, string args) { processor.Session.SendServer(new NoticeMessage { Receiver = msg.Receiver, Content = String.Format( "http://twitter.com/{0}", status.User.ScreenName) }); return(true); }
void Session_ConfigChanged(object sender, EventArgs e) { if (CurrentSession.Config.EnableTypableMap) { if (_typableMapCommands == null) UpdateProcessor(); if (_typableMapCommands.TypableMapKeySize != CurrentSession.Config.TypableMapKeySize) _typableMapCommands.TypableMapKeySize = CurrentSession.Config.TypableMapKeySize; } else { _typableMapCommands = null; } }
public Boolean Process(TypableMapCommandProcessor processor, PrivMsgMessage msg, Status status, String args) { Boolean isUnfav = (String.Compare(CommandName, "unfav", true) == 0); processor.Session.RunCheck(() => { Status favStatus = (isUnfav ? processor.Session.TwitterService.DestroyFavorite( status.Id) : processor.Session.TwitterService.CreateFavorite( status.Id)); processor.Session.SendChannelMessage(msg.Receiver, processor.Session.CurrentNick, String.Format( "ユーザ {0} のステータス \"{1}\"をFavorites{2}しました。", favStatus.User.ScreenName, favStatus.Text, (isUnfav ? "から削除" : "に追加")), true, false, false, true); }); return(true); }
public Boolean Process(TypableMapCommandProcessor processor, PrivMsgMessage msg, Status status, string args) { var session = processor.Session; if (args.Trim() == String.Empty) { session.SendChannelMessage(msg.Receiver, Server.ServerNick, "返信に空メッセージの送信はできません。", true, false, false, true); return(true); } String replyMsg = String.Format("@{0} {1}", status.User.ScreenName, args); // 入力が発言されたチャンネルには必ずエコーバックする。 // 先に出しておかないとundoがよくわからなくなる。 session.SendChannelMessage(msg.Receiver, session.CurrentNick, replyMsg, true, false, false, false); session.UpdateStatusWithReceiverDeferred(msg.Receiver, replyMsg, status.Id, (updatedStatus) => { }); return(true); }
public bool Process(TypableMapCommandProcessor processor, Misuzilla.Net.Irc.PrivMsgMessage msg, Status status, string args) { Boolean isDestroy = (String.Compare(CommandName, "remove", true) == 0); return processor.Session.RunCheck(() => { if (isDestroy) processor.Session.TwitterService.DestroyFriendship(status.User.ScreenName); else processor.Session.TwitterService.CreateFriendship(status.User.ScreenName); processor.Session.SendServer(new NoticeMessage { Receiver = msg.Receiver, Content = String.Format( "ユーザ {0} を {1} しました。", status.User.ScreenName, (isDestroy ? "remove" : "follow") ) }); }); }
public Boolean Process(TypableMapCommandProcessor processor, PrivMsgMessage msg, Status status, string args) { var session = processor.Session; if (args.Trim() == String.Empty) { // ここに公式RT機能を実装 Status retweetStatus = processor.Session.TwitterService.RetweetStatus(status.Id); session.SendChannelMessage(msg.Receiver, session.CurrentNick, String.Format( "ユーザ {0} のステータス \"{1}\"をRetweetしました。", retweetStatus.RetweetedStatus.User.ScreenName, retweetStatus.Text), true, false, false, true ); return(true); } else { session.SendChannelMessage(msg.Receiver, Server.ServerNick, "Retweetにメッセージ添付は有効ではありません。", true, false, false, true); } return(true); }
public Boolean Process(TypableMapCommandProcessor processor, PrivMsgMessage msg, Status status, string args) { var session = processor.Session; if (args.Trim() == String.Empty) { // ここに公式RT機能を実装 Status retweetStatus = processor.Session.TwitterService.RetweetStatus(status.Id); session.SendChannelMessage(msg.Receiver, session.CurrentNick, String.Format( "ユーザ {0} のステータス \"{1}\"をRetweetしました。", retweetStatus.RetweetedStatus.User.ScreenName, retweetStatus.Text), true, false, false, true ); return true; } else { session.SendChannelMessage(msg.Receiver, Server.ServerNick, "Retweetにメッセージ添付は有効ではありません。", true, false, false, true); } return true; }
public Boolean Process(TypableMapCommandProcessor processor, PrivMsgMessage msg, Status status, string args) { var session = processor.Session; if (args.Trim() == String.Empty) { session.SendChannelMessage(msg.Receiver, Server.ServerNick, "返信に空メッセージの送信はできません。", true, false, false, true); return true; } String replyMsg = String.Format("@{0} {1}", status.User.ScreenName, args); // 入力が発言されたチャンネルには必ずエコーバックする。 // 先に出しておかないとundoがよくわからなくなる。 session.SendChannelMessage(msg.Receiver, session.CurrentNick, replyMsg, true, false, false, false); session.UpdateStatusWithReceiverDeferred(msg.Receiver, replyMsg, status.Id, (updatedStatus) => { }); return true; }
public bool Process(TypableMapCommandProcessor processor, PrivMsgMessage msg, Status status, string args) { processor.Session.SendServer(new NoticeMessage { Receiver = msg.Receiver, Content = String.Format( "http://twitter.com/{0}/statuses/{1}", status.User.ScreenName, status.Id) }); return true; }
public bool Process(TypableMapCommandProcessor processor, PrivMsgMessage msg, Status status, string args) { return _processCommandDelegate(processor, msg, status, args); }
public Boolean Process(TypableMapCommandProcessor processor, PrivMsgMessage msg, Status status, String args) { Boolean isUnfav = (String.Compare(CommandName, "unfav", true) == 0); processor.Session.RunCheck(() => { Status favStatus = (isUnfav ? processor.Session.TwitterService.DestroyFavorite( status.Id) : processor.Session.TwitterService.CreateFavorite( status.Id)); processor.Session.SendChannelMessage(msg.Receiver, processor.Session.CurrentNick, String.Format( "ユーザ {0} のステータス \"{1}\"をFavorites{2}しました。", favStatus.User.ScreenName, favStatus.Text, (isUnfav ? "から削除" : "に追加")), true, false, false, true); }); return true; }
public bool Process(TypableMapCommandProcessor processor, PrivMsgMessage msg, Status status, string args) { return(_processCommandDelegate(processor, msg, status, args)); }
void UpdateProcessor() { _typableMapCommands = new TypableMapCommandProcessor(TypableMapFactory, CurrentSession, CurrentSession.Config.TypableMapKeySize); }