Пример #1
0
        static bool TextToResp(string src, Chat CurChat)
        {
            string key = DB.SearchKey(src);

            string[] COMMANDS = { "exit", "block", "reset", "shutdown" };
            bool     command  = false;

            foreach (string s in COMMANDS)
            {
                if (!command)
                {
                    command = s == key;
                }
            }
            if (!command || CurChat.mode != 0)
            {
                if (key.Contains("mode") && key.Contains("to"))
                {
                    CurChat.ChangeMode(key[2] - '0');
                    return(true);
                }
                else if (CurChat.mode == 0)
                {
                    if (key == "чтосказать" && !CurChat.IsPrivate())
                    {
                        key = "idk";
                    }
                    Say(Answering(key, CurChat), CurChat);                    //!!!!!!!!!!!!
                    if (key == "чтосказать")
                    {
                        CurChat.AddNew = src;
                    }
                    DB.SaveChat(CurChat, false);
                    return(true);
                }
            }
            else
            {
                SpecCommands(key, CurChat);
                return(true);
            }
            return(false);
        }
Пример #2
0
        private static void GetMessage(object sender, Telegram.Bot.Args.MessageEventArgs e)
        {
            var msg = e.Message;

            if (msg == null)
            {
                return;
            }
            msg.Date = msg.Date.ToLocalTime();
            if (TurnOn == DateTime.MinValue || DateTime.Compare(msg.Date, TurnOn) < 0)
            {
                return;                                                                                    ///not first
            }
            Chat CurChat = DB.IDtoChat(msg.Chat.Id);

            if (CurChat.LastMsgId == msg.MessageId)
            {
                return;
            }
            if (msg.Type == Telegram.Bot.Types.Enums.MessageType.Voice && CurChat.IsAdmin())
            {
                SpecCommands("block", CurChat);
            }
            if (msg.Type == Telegram.Bot.Types.Enums.MessageType.Text)
            {
                if (msg.Text[0] == '/')
                {
                    CommandAnalyse(msg.Text, CurChat, msg.Date);
                }
                else
                {
                    bool FromBot = msg.ReplyToMessage != null && msg.ReplyToMessage.From.Id == BOT;
                    if (!CurChat.IsPrivate() && !StringChanger.ToLower(StringChanger.RemoveSymb(msg.Text, "none")).Contains("сапфир") && !FromBot)
                    {
                        return;
                    }
                    if (CurChat.mode == 0)
                    {
                        SimpleTextAnalyse(msg.Text, CurChat);
                    }
                    else if (!TextToResp(msg.Text, CurChat))
                    {
                        if (!FromBot && !CurChat.IsPrivate())
                        {
                            return;
                        }
                        if (CurChat.mode == 1)
                        {
                            FindPhoto(msg.Text, CurChat);
                        }
                        else if (CurChat.mode == 2)
                        {
                            msg.Text = StringChanger.RemoveSymb(msg.Text, "none");
                            msg.Text = StringChanger.ToLower(msg.Text);
                            FindSong(msg.Text, CurChat);
                        }
                        else if (CurChat.mode == 3)
                        {
                            msg.Text = StringChanger.RemoveSpaces(msg.Text);
                            FindRhyme(msg.Text, CurChat);
                        }
                    }
                }
            }
            CurChat.LastMsgId = msg.MessageId;
            DB.SaveChat(CurChat, false);
        }