本文整理汇总了C#中IBot.GetStillEditableMessages方法的典型用法代码示例。如果您正苦于以下问题:C# IBot.GetStillEditableMessages方法的具体用法?C# IBot.GetStillEditableMessages怎么用?C# IBot.GetStillEditableMessages使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IBot
的用法示例。
在下文中一共展示了IBot.GetStillEditableMessages方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Unonebox
public IProcessingResult Unonebox(IProcessingResult pr, IBot bot, IChatMessage msg, string arg)
{
pr.Solved = true;
pr.Respond = true;
pr.ResponseOrigin = Helper.GetExecutingMethodName(this);
{ }
// basically add "…" to the last message
//pr = Edit(pr,bot,msg,);
var editablePosts = bot.GetStillEditableMessages();
if (editablePosts.Count < 1)
{
pr.ResponseText = "2 minutes have passed since last message was posted, apparently. Can't edit or delete it myself now.";
pr.ReplyMessageID = msg.MessageID;
}
IChatMessage lastbotpost = null;
try { lastbotpost = editablePosts[0]; }
catch
{
pr.ResponseText = "Exception occurred while getting last editable post. Perhaps it's too late to edit the last message.";
return pr;
}
// check if it's an image
var regex = new System.Text.RegularExpressions.Regex(@"<div class=\""onebox ob-image\""><a rel=\""nofollow\""href=(.*)><img src=\"".*"" class=\""user-image\"" alt=\""user image\"" /></a>");
var matches = regex.Matches(lastbotpost.Text);
if (matches.Count == 1)
{
var b = matches[0].Groups[1].Value.Trim('"');
pr.OwnResponseMessageIDToEdit = lastbotpost.MessageID;
pr.ResponseText = b + " …";
return pr;
}
var text = lastbotpost.Text;
var untagged = Helper.ReplaceChatTags(text);
pr.OwnResponseMessageIDToEdit = lastbotpost.MessageID;
pr.ResponseText = untagged + " …";
return pr;
}
示例2: Undo
public IProcessingResult Undo(IBot bot, IProcessingResult pr, string arg)
{
pr.Solved = true;
pr.Respond = true;
pr.ResponseOrigin = Helper.GetExecutingMethodName(this);
var editablePosts = bot.GetStillEditableMessages();
var wc = Helper.WordCount(arg);
var a1 = Helper.FirstWord(arg).Trim().TrimStart(':');
if (wc == 0)
{
if (editablePosts.Count > 0)
{
var last = editablePosts[0];
bot.DeleteMessage(last.RoomID, last.MessageID);
pr.Respond = false;
return pr;
}
else
{
pr.ResponseText = "No messages less than 2 minutes old.";
return pr;
}
}
if (wc == 1)
{
if (a1 == "last")
{
if (editablePosts.Count > 0)
{
var last = editablePosts[0];
bot.DeleteMessage(last.RoomID, last.MessageID);
pr.Respond = false;
return pr;
}
else
{
pr.ResponseText = "No messages less than 2 minutes old.";
return pr;
}
}
else
{
int i = 0;
var b = int.TryParse(a1, out i);
if (!b)
{
pr.ResponseText = "Could not parse the number of messages to delete or messageid, whatever it was.";
return pr;
}
else
{
if (i < 100)
{
if (editablePosts.Count > 0)
{
if (editablePosts.Count >= i)
{
// get i first posts to delete
var todel = new List<IChatMessage>();
for (int n = 0; n < i; n++)
todel.Add(editablePosts[n]);
foreach (var tod in todel)
bot.DeleteMessage(tod.RoomID, tod.MessageID);
pr.Respond = false;
return pr;
}
else
{
foreach (var tod in editablePosts)
bot.DeleteMessage(tod.RoomID, tod.MessageID);
pr.Respond = false;
return pr;
}
}
else
{
pr.ResponseText = "No messages less than 2 minutes old.";
return pr;
}
}
else // delete by messageid
{
// try to get the messageid
foreach (var v in editablePosts)
if (v.MessageID == i)
{
bot.DeleteMessage(v.RoomID, v.MessageID);
pr.Respond = false;
return pr;
}
}
}
//.........这里部分代码省略.........
示例3: Edit
public IProcessingResult Edit(IProcessingResult pr, IBot bot, IChatMessage msg, string arg)
{
pr.Solved = true;
pr.Respond = true;
pr.ResponseOrigin = Helper.GetExecutingMethodName(this);
var editablePosts = bot.GetStillEditableMessages();
if (editablePosts.Count < 1)
{
pr.ResponseText = "2 minutes have passed since last message was posted, apparently. Can't edit or delete it myself now.";
pr.ReplyMessageID = msg.MessageID;
}
var wc = Helper.WordCount(arg);
if (wc < 2)
{
pr.ResponseText = "You must specify a messageid and the new message text with a space between them.";
return pr;
}
var a1 = Helper.FirstWord(arg).Trim().TrimStart(':');
var wrest = Helper.TextAfter(arg, a1);
if (a1.ToLowerInvariant() == "last")
{
pr.OwnResponseMessageIDToEdit = editablePosts[0].MessageID;
pr.ResponseText = wrest;
}
else
{
int mid = 0;
if (int.TryParse(a1, out mid))
{
pr.OwnResponseMessageIDToEdit = mid;
pr.ResponseText = wrest;
}
else
{
pr.ResponseText = "Could not parse messageid.";
return pr;
}
}
return pr;
}