Форум программистов, компьютерный форум, киберфорум
C#: API, боты
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.52/21: Рейтинг темы: голосов - 21, средняя оценка - 4.52
0 / 0 / 0
Регистрация: 10.04.2018
Сообщений: 83
1

Не работает обработка Inline кнопок в боте Telegram

12.04.2018, 21:03. Просмотров 3960. Ответов 3


Собственно сам вопрос в заголовке. Создаю кнопку так:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
await Bot.SendTextMessageAsync(msg.Chat.Id, "Я не знаю слова " + msg.Text + ".");
                                var keyboard = new Telegram.Bot.Types.ReplyMarkups.InlineKeyboardMarkup(
                                                    new Telegram.Bot.Types.InlineKeyboardButtons.InlineKeyboardCallbackButton[][]
                                                    {
                                                            // First row
                                                            new [] {
                                                                // First column
                                                                new Telegram.Bot.Types.InlineKeyboardButtons.InlineKeyboardCallbackButton("Добавить слово в словарь!","callback1"),
                                                                
                                                            },
                                                    }
                                                );
 
                                await Bot.SendTextMessageAsync(msg.Chat.Id, "Вы можете добавить данное слово в словарь.", Telegram.Bot.Types.Enums.ParseMode.Default, false, false, 0, keyboard);
                                
                                return;
Обрабатываю так:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Bot.OnCallbackQuery += async (object sc, CallbackQueryEventArgs ev) =>
            {
                bool is_mesage_sent = false;
                var message = ev.CallbackQuery.Message;
                if (ev.CallbackQuery.Data == "callback1")
                {
                    
                    int g = char.ConvertToUtf32(msg.Text, 0);
                    using (StreamWriter writer = System.IO.File.AppendText(@"C:\Words_Bot\CLEAR\" + g))
                    {
                        writer.WriteLine(msg.Text);
 
                    }
                    if (is_mesage_sent == true) return;
                    await Bot.SendTextMessageAsync(msg.Chat.Id, "Слово успешно добавленно!");
                    is_mesage_sent = true;
                    
 
                    await Bot.AnswerCallbackQueryAsync(ev.CallbackQuery.Id);
                }
 
            };
В итоге кнопка появляется, но не реагирует на нажатие. (Обработчик стоит в методе Bot_OnMessage т.е вызывается при каждом сообщении.)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.04.2018, 21:03
Ответы с готовыми решениями:

Telegram bot | Как создать inline кнопки?
При создании бота столкнулся с одной, не очень приятной, проблемой. Связанна она с созданием inline...

Telegram Bot api удаление данных БД inline клавиатурой
Подскажите, пожалуйста, как реализовать удаление из базы данных вопроса. 1.callback_data кнопки...

Обработка inline календаря через PHP
Здравствуйте. Есть inline т е всегда видимый календарь. Подключается он так var myCalendar; ...

Бот Telegram не работает
Не работает бот. При попытке запустить консольное приложение,через несколько секунд появляется...

3
aquaMakc
13.04.2018, 16:24
  #2

Не по теме:

Всё, роскомнадзор решил вашу проблему. Не благодарите.

0
0 / 0 / 0
Регистрация: 10.04.2018
Сообщений: 83
13.04.2018, 16:28  [ТС] 3
А про проски не слышали?
0
sau
13.04.2018, 19:24     Не работает обработка Inline кнопок в боте Telegram
  #4

Не по теме:

Цитата Сообщение от shab_asha Посмотреть сообщение
А про проски не слышали?
Это для избранных , большинство обычных юзверей не будут с прокси заморачиваться . просто перейдут на другой мессенджер.
Меня тут больше удивила техническая безграмотность наших спец служб , на счет ключей шифрования.

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.04.2018, 19:24
Привет! Вот еще темы с ответами:

Не работает inline-block
Нужно чтоб превью видео стояли в ряд, но не в какую не становятся Скриншот сайта и кода вложены

Inline корява работает
Почему когда есть в таблице VAR какие нибудь переменные указатели, то функция inline сходит с сума...

Почему не работает Inline
Почему не инлайнится? var count: integer; type a = record class procedure f1;...

GCC Inline Assembly перевести в Visual Studio Inline Assembler
Здравствуйте. Есть код на GCC Inline Assembly и его нужно перевести в Visual Studio Inline...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.