public async Task Handle(SuspiciousAccountReportSaved notification, CancellationToken cancellationToken)
            {
                string respondText =
                    notification.IsSuspiciousAccountBlocked.HasValue && notification.IsSuspiciousAccountBlocked.Value ?
                    $"ضمن تشکر، کاربر @{notification.SuspiciousAccountScreenName} قبلاً در لیست بلاک #رستم_بات قرار گرفته است." :
                    $"ضمن تشکر، گزارش شما برای کاربر @{notification.SuspiciousAccountScreenName} ثبت شد و به زودی در #رستم_بات مورد بررسی قرار خواهد گرفت.";

                if (notification.ShouldRespondViaDirect)
                {
                    var respondDirect = new RespondDirect()
                    {
                        ReceiverTwitterUserId = notification.ReporterTwitterUserId,
                        Text = respondText
                    };

                    await _notification.SendRespondDirectAsync(respondDirect);
                }

                else
                {
                    var respondTweet = new RespondTweet()
                    {
                        InReplyToTweetId    = notification.ReporterTweetId,
                        InReplyToScreenName = notification.ReporterScreenName,
                        Text = respondText + " همچنین می‌توانید گزارشات خود را با ارسال توییت اکانت ناامن به صورت دایرکت به ما و بدون نیاز به هشتگ بفرستید."
                    };

                    await _notification.SendRespondTweetAsync(respondTweet);
                }
            }
Exemplo n.º 2
0
        public void SendReplyTweet(RespondTweet tweet)
        {
            var textToPublish = string.Format($"@{tweet.InReplyToScreenName} {tweet.Text}");

            BackgroundJob.Enqueue(() =>
                                  Tweet.PublishTweetInReplyTo(textToPublish, tweet.InReplyToTweetId)
                                  );
        }
Exemplo n.º 3
0
        public Task SendRespondTweetAsync(RespondTweet tweet)
        {
            BackgroundJob.Enqueue <IRostamBotManagerService>(bot => bot.SendReplyTweet(tweet));

            return(Task.CompletedTask);
        }