@botoid

Страница 551 из 4042
Dmitry
16.02.2017
17:42:14
Ну вы же можете с досом бороться
делать задержку в onUpdateReceived?

Detur
16.02.2017
17:42:21
а где собранную apk-шку альфы под ведроид взять можно?

Roman
16.02.2017
17:42:49
Я хз где делать задержку, вы ж разработчик) я сижу с телефона и на жабе не писал ботов, ещё раз говорю)

Dmitry
16.02.2017
17:44:14
вот на сколько проще через клиент работать. жаль, что он не умеет в экранные клавиатуры и разметку

Google
Roman
16.02.2017
17:44:19
Решение простое - следите как часто вас дергают, не отсылайте сообщения чаще раз в секунду. В принципе можно делать тайм-аут в секунду

И пока он длится - давать этому юзеру от ворот поворот

Через клиент? Вут?

Dmitry
16.02.2017
17:45:47
что значить «не отсылать сообщения»? не проверять апдейты чаще раза в секунду? давать какой-то отлуп на запросы? подвешивать соединение на секунду?

через протокол обычного клиента

Roman
16.02.2017
17:47:16
Вам юзер спамит одно и то же сообщение 1000 раз в секунду. Вы приняли первое, а остальные игнорите и отсылаете ему сообщение чтоб он так не делал

Протокол обычного клиента? Вы бота пишите?

Который по рестапи работает?

Dmitry
16.02.2017
17:51:06
я пытаюсь прикрутить готовую библиотеку, которая через Long polling работает и жалуюсь, что при работе через обычный клиентский протокол таких проблем не возникало

Вам юзер спамит одно и то же сообщение 1000 раз в секунду. Вы приняли первое, а остальные игнорите и отсылаете ему сообщение чтоб он так не делал
логично. вот прилетело мне 1000 апдейтов за секунду. 1 я обработал, а с остальными 999 что делать? есть какой-то стандартный отлуп? или просто проглатывать и ничего не отвечать на них?

Roman
16.02.2017
17:59:30
я ж говорю, проглотите и отошлите только ещё одно, мол, "ай ай ай, не спамь, мразь"

не слышал про обычный клиентский протокол для ботов

киньтесь в меня ссылкой, которая рассказывает про ботов через API но не через longpolling или вебхуки

Google
Tymur.org
16.02.2017
18:01:30
?

через АПИ но не вебхук

вебхук работает через апи

facepalm

Dmitry
16.02.2017
18:02:20
киньтесь в меня ссылкой, которая рассказывает про ботов через API но не через longpolling или вебхуки
https://github.com/vysheng/tg https://valtman.name/telegram-cli https://github.com/rubenlagus/TelegramApi https://github.com/badoualy/kotlogram

Roman
16.02.2017
18:04:21
Тимур, хотите сказать чтонть по делу - говорите. Фейспалмы для детсада оставьте

https://github.com/vysheng/tg https://valtman.name/telegram-cli https://github.com/rubenlagus/TelegramApi https://github.com/badoualy/kotlogram
а, ну так это просто клиенты для телеграмма. К ботам то отношения не имеющие

Dmitry
16.02.2017
18:05:59
ну… это заготовки для ботов в, не побоюсь этого слова, классическом их понимании — как в IRC

Douglas
16.02.2017
18:06:45
а, ну так это просто клиенты для телеграмма. К ботам то отношения не имеющие
Ну дык в том то и дело, что есть бот апи, которое ИЛИ через вебхук, ИЛИ через Лонг поллинг, или делать через полноценного клиента

Roman
16.02.2017
18:07:34
Ну дык в том то и дело, что есть бот апи, которое ИЛИ через вебхук, ИЛИ через Лонг поллинг, или делать через полноценного клиента
ну тогда в терминологии телеграмма это уже и не бот вовсе) бот - тот кто представляется ботом и юзает бот апи

Nikita
16.02.2017
18:08:50
Ну всё и так, и так работает через лонг поллинги и вебхуки, лол Это ведь всего лишь методы получения апдейтов с сервера, а не привилегии ботов

Dmitry
16.02.2017
18:09:19
нуу… бот он скорее делает что-то полезное. а через что — чуть вторично. мне кажется.

Roman
16.02.2017
18:11:22
Ну всё и так, и так работает через лонг поллинги и вебхуки, лол Это ведь всего лишь методы получения апдейтов с сервера, а не привилегии ботов
а кто говорил, что это привелегия ботов? имхо демагогию разводите) тут разговор зашёл в заблуждение в силу разного пониманию терминологий. Человек говорил про "клиентский протокол". Я не изучал сей вопрос и предположил, что это вообще кастомный протокол

нуу… бот он скорее делает что-то полезное. а через что — чуть вторично. мне кажется.
в общем, если юзать бот апи, то там строго ограничение на лимиты общения с ботом и в обратную сторону. Всё упирается только в вашу либу и в непосредственно ваш код

Dmitry
16.02.2017
18:13:51
код мой, либа — не моя. пока попробую просто не отвечать на сообщения, приходящие чаще, чем раз в секунду от одного юзера. правда будет неприятный лаг, но, возможно, не такой страшный. благодарю

yegorf1
16.02.2017
18:14:22
"Либу брат писал"

"Я просто рядом стоял"

Dmitry
16.02.2017
18:15:57
ну… либа первая в списке на сайте тг

Roman
16.02.2017
18:16:44
ну тут как и со многими либами - они врядли реализуют все случаи возможные

вам, увы, придётся реализовать свои очереди и тд

Google
Roman
16.02.2017
18:17:09
мне на js, кстати, тоже придётся)

Dmitry
16.02.2017
18:19:07
мне кажется, что это очень базовый случай — лимиты сообщений по клику кнопки. кстати, а клиент телеграма не подстраховывает юзера от непреднамеренного спама?

Ivan
16.02.2017
18:19:28
Ребята писали я рядом стоял

Chuvi
16.02.2017
18:42:18
код мой, либа — не моя. пока попробую просто не отвечать на сообщения, приходящие чаще, чем раз в секунду от одного юзера. правда будет неприятный лаг, но, возможно, не такой страшный. благодарю
1. Записываешь id пользователя + время последнего сообщения. 2. Сверяешь с пришедшим. Если = показываешь "ждите", а потом правишь сообщение. Телеграм позволяет-таки небольшие вбросы.

Subbotin
16.02.2017
18:47:12
Кстати интересно как в телеграмме делать нагрузочное тестирование. Пилить свои заглушки?

Chuvi
16.02.2017
18:51:34
Всегда можно подготовить очередь и ждать 429...

Александр
16.02.2017
20:36:47
Ребят, всем привет. А есть такой чат, где работу по разработке бота можно предположить?

Pavel
16.02.2017
20:37:52
Можно предположить здесь

Александр
16.02.2017
20:40:12
Я понимаю) мало ли кто против будет)

Тогда без угрызения совести буду писать сюда)

Vitaly
16.02.2017
20:47:35
Alex,
16.02.2017
21:25:29
Нужно собрать конструктор... если chat_id не записан на сайте, то юзеру выдаётся клава, одна из кнопок после нажатия запросит pin, если этот пин совпадает с правильным, то Клава убирается... Какой тип кнопки нужно использовать в данном случае?

Никита
16.02.2017
21:31:08
делал такое) можно потыкать, ненадолго с ноута запущу @nkAuthBot

инлайн-кнопки, если ты хочешь, чтобы их нажатия не оставались в истории

но мб это нафиг не надо и проще слать просто сообщение с кодом

Alex,
16.02.2017
21:40:19
но мб это нафиг не надо и проще слать просто сообщение с кодом
нет... Нужно именно что бы кнопки были, потом исчезли

Никита
16.02.2017
21:40:53
нет... Нужно именно что бы кнопки были, потом исчезли
ну ты попробуй бота, которого я прислал, оно же

Никита
16.02.2017
21:41:34
Какого?
@nkAuthBot

Google
Alex,
16.02.2017
21:41:49
а, увидел...

ща

думаю оно самое, но у меня не работает он



Yury
16.02.2017
21:44:11
Нужно собрать конструктор... если chat_id не записан на сайте, то юзеру выдаётся клава, одна из кнопок после нажатия запросит pin, если этот пин совпадает с правильным, то Клава убирается... Какой тип кнопки нужно использовать в данном случае?
Инлайн-кнопки Сообщение типа "введите пин: ****", под ним десять кнопок с цифрами При нажатии на кнопку сообщение обновляется, вместо левой звездочки появляется цифра, как то так

Если использовать другие кнопки, то одно нажатие == одно сообщение боту, ux будет не очень

Никита
16.02.2017
21:45:04
ага



Alex,
16.02.2017
21:46:02
Огонь! Такое же нужно!

Но он у меня не работает почему-то

Никита
16.02.2017
21:52:30
починил)

Dmitry
16.02.2017
22:12:59
а поясните за редактируемые сообщения, которые EditMessageText. можно ли такое повесить в группу, но чтобы каждый участник видел своё сообщение? или оно будет общим для всех?

Alex,
16.02.2017
22:55:18
а как из callback_data отправить в sendMessage?

Rocket
16.02.2017
23:32:48
а как из callback_data отправить в sendMessage?
Если это callback из сообщения от бота, то по user_id. Если это сообщение, отправленное через инлайн - то никак не надо слать, потому что ты не знаешь куда слать.

Rocket
16.02.2017
23:36:14
Ну так в в query есть userid и chatid.

Alex,
16.02.2017
23:36:42
$output["callback_query"]["text"]

не так?

Rocket
16.02.2017
23:37:36
Я не знаю с чем ты работаешь. Видимо это php, я не в курсе как там фреймворки построены.

Google
Alex,
16.02.2017
23:37:40
$output["callback_query"] вообще вроде не существует

да, php

ну json ответ можешь написать?

Rocket
16.02.2017
23:38:30
Но user_id(от кого) и chat_id(откуда) там точно есть в приехавшем запросе.

Вот их надо взять и отправить сообщение.

Alex,
16.02.2017
23:39:22
это подхватил

Rocket
16.02.2017
23:39:31
Либо взять message_id и сообщение отредактировать.

Alex,
16.02.2017
23:39:49
а переменная callback_query как выглядит?

callback_query пустая получается :-(

Rocket
16.02.2017
23:40:43
Как она выглядит в телеге - описано в апи, я лучше не напишу. А как в твоем фреймворке - понятия не имею. Надо смотреть в исходник или в доку.

Alex,
16.02.2017
23:41:55
file_get_contents(API_URL. 'editMessageText?parse_mode=HTML&message_id=1743&chat_id=' . CHAT_ID . '&text='.$output["callback_query"]["text"].'&reply_markup=' . $keyboard );

Rocket
16.02.2017
23:42:48
Текст какой нибудь другой воткни и не забывай про urlencode

Alex,
16.02.2017
23:43:45
output["callback_query"]["text"] мне кажется такое не существует в природе

Rocket
16.02.2017
23:44:05
callback_query.message.text, если я правильно помню

Alex,
16.02.2017
23:48:14
Alex,
17.02.2017
05:37:29
Кнопки такие собрал, но не получается данные с них получить в переменные для редактирования сообщения

Кто нибудь на php может пример дать, где из подобной кнопки данные отправляются в sendMessage?

Suren
17.02.2017
05:39:40

Страница 551 из 4042