本文整理汇总了C#中LinqToTwitter.TwitterContext.DestroyDirectMessageAsync方法的典型用法代码示例。如果您正苦于以下问题:C# TwitterContext.DestroyDirectMessageAsync方法的具体用法?C# TwitterContext.DestroyDirectMessageAsync怎么用?C# TwitterContext.DestroyDirectMessageAsync使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类LinqToTwitter.TwitterContext
的用法示例。
在下文中一共展示了TwitterContext.DestroyDirectMessageAsync方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: DestroyDirectMessageAsync
static async Task DestroyDirectMessageAsync(TwitterContext twitterCtx)
{
DirectMessage message =
await twitterCtx.DestroyDirectMessageAsync(
243563161037455360ul, true);
if (message != null)
Console.WriteLine(
"Recipient: {0}, Message: {1}",
message.RecipientScreenName,
message.Text);
}
示例2: EraseTweetsAction
//We start multiple actions in parallel to delete tweets
void EraseTweetsAction(TwitterContext ctx, CancellationToken cancellationToken)
{
int nextTweetID = getNextTweetIDSync();
#if DEBUG_TEST
Random rnd = new Random();
#endif
//Are we done?
while (nextTweetID != Int32.MinValue)
{
//We can't cancel here, we have already fetched a new ID and if we cancel here it will never be deteled
Tweet tweet = mTweetsCollection[nextTweetID];
//Clear Tweets logic here
try
{
#if DEBUG_TEST
Thread.Sleep(sleepFakeWaitMilliseconds);
if (rnd.Next() % 3 == 0) // Simulate error
{
throw new ArgumentNullException();
}
else
{
Exception e = new Exception("Sorry, that page does not exist");
throw new Exception("", e);
}
#else
ulong tid = ulong.Parse(tweet.ID);
Status ret = null;
DirectMessage ret2 = null;
switch (TweetsEraseType)
{
case ApplicationSettings.EraseTypes.TweetsAndRetweets:
ret = ctx.DeleteTweetAsync(tid).Result;
break;
case ApplicationSettings.EraseTypes.Favorites:
ret = ctx.DestroyFavoriteAsync(tid).Result;
break;
case ApplicationSettings.EraseTypes.DirectMessages:
ret2 = ctx.DestroyDirectMessageAsync(tid, true).Result;
break;
default:
break;
}
#endif
tweet.Status = STATUS_DELETED;
}
catch (Exception ex)
{
TwitterQueryException exception = ex.InnerException as TwitterQueryException;
if (exception != null && exception.StatusCode == System.Net.HttpStatusCode.NotFound)
{
tweet.Status = STATUS_NOT_FOUND;
}
else if (exception != null &&
(exception.StatusCode == System.Net.HttpStatusCode.Unauthorized || exception.StatusCode == System.Net.HttpStatusCode.Forbidden))
{
tweet.Status = STATUS_NOT_ALLOWED;
}
else
{
tweet.Status = STATUS_ERROR;
var tmp = new JsonTweet() { created_at = Helpers.DateTimeToString(tweet.Date), id_str = tweet.ID, text = tweet.Text };
lock (_lockerNotDeletedTweetsLst)
{
notDeletedTweets.Add(tmp);
}
}
}
finally
{
onDeletedTweetUIUpdate(tweet);
}
//We cancel once a tweet is completely handeled, we make sure not to request for a new one
if (cancellationToken.IsCancellationRequested)
{
return;
}
nextTweetID = getNextTweetIDSync();
}
}