コード例 #1
0
        public void Awaiting_Item_Changes_Status_To_ReadyToSend_After_Checking_Period()
        {
            //preparing

            var storage = new InMemoryReminderStorage();

            var sender   = new TelegramReminderSender("1467408776:AAGSGszyTCYYCTWTKu4PL_it029uC8X8hbs");
            var receiver = new TelegramReminderReceiver("1467408776:AAGSGszyTCYYCTWTKu4PL_it029uC8X8hbs");

            using var domain = new ReminderDomain(storage, receiver, sender, TimeSpan.FromMilliseconds(50), TimeSpan.FromMilliseconds(50));

            var item = new ReminderItem(DateTimeOffset.Now, "Hello World!", "TestContact"); //addReminderModel

            //domain.AddReminder(item); //Model was here

            // run

            domain.Run();

            //Check the result

            System.Threading.Thread.Sleep(50);

            var actualItem = storage.Get(item.Id);

            Assert.IsNotNull(actualItem);
            Assert.AreEqual(ReminderItemStatus.ReadyToSend, actualItem.Status);
        }
コード例 #2
0
        public void Sender_Constructor_Test()
        {
            string cn     = "Alex";
            string mes    = "Work Hard";
            var    sender = new TelegramReminderSender("1234567:4TT8bAc8GHUspu3ERYn-KGcvsvGB9u_n4ddy");

            sender.Send("Alex", "Work Hard");

            var test = new TelegramReminderSender("1234567:4TT8bAc8GHUspu3ERYn-KGcvsvGB9u_n4ddy");

            test.Send("Alex", "Work Hard");
            Assert.AreEqual(sender, test);
        }
コード例 #3
0
        static void Main(string[] args)
        {
            Console.WriteLine("Telegram BotApp");
            var       storage  = new InMemoryReminderStorage();
            var       domain   = new ReminderDomain(storage);
            string    token    = "697789387:AAFzSKZg8GmR-_aMktYSwcz0kKiL1D7__ww";
            IWebProxy proxy    = new HttpToSocks5Proxy("proxy.golyakov.net", 1080);
            var       sender   = new TelegramReminderSender(token, proxy);
            var       receiver = new TelegramReminderReceiver(token, proxy);

            receiver.MessageReceived += (s, e) =>
            {
                Console.WriteLine($"Message received from contactId {e.ContactId} with text {e.Message}");

                try
                {
                    var parsedMessage = MessageParser.Parse(e.Message);

                    var item = new ReminderItem(
                        parsedMessage.Date,
                        parsedMessage.Message,
                        e.ContactId);
                    storage.Add(item);
                }
                catch (Exception ex)
                {
                    Console.WriteLine($"The Format is Wrong  \n{ex.Message}");
                }
            };

            receiver.Run();

            domain.SendReminder = (ReminderItem ri) =>
            {
                sender.Send(ri.ContactId, ri.Message);
            };


            domain.Run();

            Console.WriteLine("Press any key to exit...");
            Console.ReadKey();
        }
コード例 #4
0
ファイル: Program.cs プロジェクト: Direaper/nordic-it-netcore
        static void Main(string[] args)
        {
            //var botClient = new TelegramBotClient("943556973:AAF8Kfc3bUu4nYah6d9t5S1QFHNBIjF6VNY");
            //var me = botClient.GetMeAsync().Result;
            //Console.WriteLine(
            //    $"Hello {me.Id},  my name is {me.FirstName}");

            //return;
            const string token = " ";

            var storage  = new InMemoryReminderStorage();
            var sender   = new TelegramReminderSender(token);
            var receiver = new TelegramReminderReceiver(token);

            using var domain = new ReminderDomain(
                      storage,
                      receiver,
                      sender,
                      TimeSpan.FromSeconds(1),
                      TimeSpan.FromSeconds(1));

            domain.SendingSucceeded += Domain_SendingSucceeded;
            domain.SendingFailed    += DomainOnSendingFailed;
            domain.ParsingFailed    += Domain_ParsingFailed;
            domain.AddingSucceeded  += Domain_AddingSucceeded;
            domain.AddingFailed     += Domain_AddingFailed;

            //var addReminderModel = new AddReminderModel(
            //    DateTimeOffset.Now.AddSeconds(1),
            //    "Hello World",
            //    "943556973");

            //domain.AddReminder(   addReminderModel);
            domain.Run();

            Console.WriteLine("Domain logic running...(press any key to exit)");
            Console.ReadKey();
        }
コード例 #5
0
        static void Main(string[] args)
        {
            const string token = "1467408776:AAGSGszyTCYYCTWTKu4PL_it029uC8X8hbs";
            //botID = "1467408776"

            var storage  = new InMemoryReminderStorage();
            var sender   = new TelegramReminderSender(token);
            var receiver = new TelegramReminderReceiver(token);

            using var domain = new ReminderDomain(storage, receiver, sender, TimeSpan.FromSeconds(1), TimeSpan.FromSeconds(1));//Dependency injection

            var addReminderModel = new AddReminderModel(DateTimeOffset.Now.AddSeconds(2), "Hello World!", "1467408776");

            domain.SendingSucceeded += Domain_SendingSucceeded;
            domain.SendingFailed    += Domain_SendingFailed;

            //receiver.MessageReceived += ;

            //domain.AddReminderModel(addReminderModel);
            domain.Run();

            Console.WriteLine("Domain logic running...");
            Console.ReadKey();
        }