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);
                }
            }
示例#2
0
        public Task SendRespondDirectAsync(RespondDirect direct)
        {
            BackgroundJob.Enqueue <IRostamBotManagerService>(bot => bot.SendReplyDirect(direct));

            return(Task.CompletedTask);
        }
 public void SendReplyDirect(RespondDirect direct)
 {
     BackgroundJob.Enqueue(() =>
                           Message.PublishMessage(direct.Text, direct.ReceiverTwitterUserId)
                           );
 }