Ejemplo n.º 1
0
 public async Task SendCommandAsync(Enums.Command command)
 {
     await SendCommandAsync(Commands.GetCommandSequence((int)command));
 }
Ejemplo n.º 2
0
        public async void OnRecieve(object sender, MessageEventArgs e)
        {
            if (e.Message.Type == Telegram.Bot.Types.Enums.MessageType.Text)
            {
                Enums.Command c = e.Message.Text.ToCommand();
                switch (c)
                {
                case Enums.Command.start:
                {
                    if (subscribers.Select(s => s.ChatId).Contains(e.Message.Chat.Id))
                    {
                        if (subscribers.Where(s => s.ChatId == e.Message.Chat.Id).First().Stopped == false)
                        {
                            await Bot.SendTextMessageAsync(e.Message.Chat.Id, "Бот уже запущен!");
                        }
                        else if (subscribers.Where(s => s.ChatId == e.Message.Chat.Id).First().Stopped)
                        {
                            await Bot.SendTextMessageAsync(e.Message.Chat.Id, "Ты включил рассылку сигнала! Для остановки напиши /stop");

                            subscribers.Where(s => s.ChatId == e.Message.Chat.Id).First().Stopped = false;
                        }
                    }
                    else
                    {
                        await Bot.SendTextMessageAsync(e.Message.Chat.Id, $"Приветсвую, {e.Message.From.FirstName}. Ты включил рассылку сигнала! Для остановки напиши /stop");

                        subscribers.Add(new BotSubscriber()
                            {
                                ChatId = e.Message.Chat.Id, Stopped = false, UserName = e.Message.From.FirstName
                            });
                        await SaveSubs();
                    }
                    break;
                }

                case Enums.Command.stop:
                {
                    if (subscribers.Select(s => s.ChatId).Contains(e.Message.Chat.Id))
                    {
                        if (subscribers.Where(s => s.ChatId == e.Message.Chat.Id).First().Stopped)
                        {
                            await Bot.SendTextMessageAsync(e.Message.Chat.Id, "Бот уже остановлен!");
                        }
                        else if (!subscribers.Where(s => s.ChatId == e.Message.Chat.Id).First().Stopped)
                        {
                            await Bot.SendTextMessageAsync(e.Message.Chat.Id, "Ты выключил рассылку сигнала! Для остановки напиши /start");

                            subscribers.Where(s => s.ChatId == e.Message.Chat.Id).First().Stopped = true;
                        }
                    }
                }
                break;

                case Enums.Command.unknown:
                {
                    if (!subscribers.Select(s => s.ChatId).Contains(e.Message.Chat.Id))
                    {
                        await Bot.SendTextMessageAsync(e.Message.Chat.Id, "Неизвестная команда!");

                        subscribers.Add(new BotSubscriber()
                            {
                                ChatId = e.Message.Chat.Id, Stopped = true, UserName = e.Message.From.FirstName
                            });
                        await SaveSubs();
                    }
                    else
                    {
                        await Bot.SendTextMessageAsync(e.Message.Chat.Id, "Неизвестная команда!");
                    }
                }
                break;

                default:
                    break;
                }
            }
        }
Ejemplo n.º 3
0
 public async Task SendCommandAsync(Enums.Command command, byte param)
 {
     await SendCommandAsync(Commands.GetCommandSequenceWithParam((int)command, param));
 }