Ответы пользователя по тегу Telegram
  • Как к одной inline кнопки привязать несколько действий?

    alexk111
    @alexk111
    Автор Ботодрома (автоматизация Telegram, VK и др.)
    1. Отправляем сообщение с кнопкой (в ее данных обозначаем, что это кнопка 1го сообщения)
    2. После нажатия - редактируем сообщение и кнопку, подставляя новый текст и данные кнопки, которые будут соответствовать следующему шагу
    Ответ написан
  • Как сделать ссылку с сайта на бота с отправкой сообщения?

    alexk111
    @alexk111
    Автор Ботодрома (автоматизация Telegram, VK и др.)
    Нет, явно передать сообщение не получится. Но можно законсервировать готовые сообщения (или шаблоны сообщений) в боте, и указывать их параметром start, который передается боту, когда пользователь нажимает кнопку Start.
    Например, для: https://t.me/BotName?start=tra-ta-ta после нажатия `Start` - боту улетит сообщение '/start tra-ta-ta'. Извлекаем id после `/start ` и отправляем в ответ сообщение, соответствующее этому id.
    Ответ написан
  • Как в коде телеграм бота указать путь к фото на сервере VPS/VDS?

    alexk111
    @alexk111
    Автор Ботодрома (автоматизация Telegram, VK и др.)
    Пытался просто скопировать путь какой на сервере, но ничего не выходит.

    Допущена какая-то ошибка при копировании пути к файлу на сервере.
    Ответ написан
    Комментировать
  • Как отправить сообщение из группы человеку написавшему боту в Телеграм?

    alexk111
    @alexk111
    Автор Ботодрома (автоматизация Telegram, VK и др.)
    Если не программист, то вот готовый поток для Ботодрома, реализующий эту логику.

    1. Импортируйте JSON код из окошка ниже в ваш Ботодром
    2. В настройках конфиг-узла "Мой Telegram Бот" установите токен вашего Telegram бота
    3. В узле "Id супергруппы" установите id вашей супер-группы, куда будут форвардиться сообщения приходящие боту
    4. Нажмите "Развернуть"
    5. Затем нажмите кнопку узла "Настроить хранение данных"
    6. Готово

    602b93d6be8ac408845624.png

    [{"id":"20fc1f49.0ac97","type":"drom-tg-updates","z":"816191d5.cb781","name":"","method":"longpoll","property":"tgUpdate","client":"8ab3ffbd.097a1","x":440,"y":320,"wires":[["581f6191.a03c4"]]},{"id":"581f6191.a03c4","type":"drom-tg-switch-update","z":"816191d5.cb781","name":"Какое событие?","tgUpdate":"tgUpdate","property":"tgUpdateObj","updates":["message"],"outputs":1,"x":770,"y":320,"wires":[["f1b47a6d.c871d8"]]},{"id":"9a5462b0.20203","type":"drom-tg-api-call","z":"816191d5.cb781","name":"Форвард сообщения","data":"apiData","dataType":"msg","method":"forwardMessage","methodType":"str","property":"apiRes","client":"8ab3ffbd.097a1","x":1400,"y":300,"wires":[["d700d74.3b99228"]]},{"id":"1f5ca683.997369","type":"change","z":"816191d5.cb781","name":" Id супергруппы","rules":[{"t":"set","p":"apiData.chat_id","pt":"msg","to":"-123456","tot":"num"}],"action":"","property":"","from":"","to":"","reg":false,"x":1390,"y":220,"wires":[["a2ffad93.bc7eb"]]},{"id":"f1b47a6d.c871d8","type":"switch","z":"816191d5.cb781","name":"Сообщение в личку Боту?","property":"tgUpdateObj.from.id","propertyType":"msg","rules":[{"t":"eq","v":"tgUpdateObj.chat.id","vt":"msg"},{"t":"else"}],"checkall":"false","repair":false,"outputs":2,"x":1100,"y":320,"wires":[["1f5ca683.997369"],["7b7d959c.a503ac"]],"outputLabels":["Да","Нет"]},{"id":"63e53df1.7d73a4","type":"drom-tg-api-call","z":"816191d5.cb781","name":"Отправка ответа","data":"apiData","dataType":"msg","method":"sendMessage","methodType":"str","property":"payload","client":"8ab3ffbd.097a1","x":1690,"y":420,"wires":[[]]},{"id":"6c4344ad.334b9c","type":"change","z":"816191d5.cb781","name":"Данные tg api","rules":[{"t":"set","p":"apiData.chat_id","pt":"msg","to":"message_sender[0].value2","tot":"msg"},{"t":"set","p":"apiData.text","pt":"msg","to":"tgUpdateObj.text","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":1680,"y":380,"wires":[["63e53df1.7d73a4"]]},{"id":"a2ffad93.bc7eb","type":"change","z":"816191d5.cb781","name":"Данные tg api","rules":[{"t":"set","p":"apiData.from_chat_id","pt":"msg","to":"tgUpdateObj.from.id","tot":"msg"},{"t":"set","p":"apiData.message_id","pt":"msg","to":"tgUpdateObj.message_id","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":1380,"y":260,"wires":[["9a5462b0.20203"]]},{"id":"7e643f.62614bc","type":"drom-data-relationships-num","z":"816191d5.cb781","storage":"6c999ed1.7d41f","action":"setup-rels","rels":"message_sender","relsType":"storId","value1":"inviter","value1Type":"msg","value2":"invitee","value2Type":"msg","value1Req":"inviter","value1ReqType":"msg","value2Req":"invitee","value2ReqType":"msg","limitRes":"20","limitResType":"num","offsetRes":"0","offsetResType":"num","name":"","property":"payload","x":800,"y":140,"wires":[[]]},{"id":"f553b75.a386048","type":"inject","z":"816191d5.cb781","name":"Настроить хранение данных","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":460,"y":140,"wires":[["7e643f.62614bc"]]},{"id":"d700d74.3b99228","type":"drom-data-relationships-num","z":"816191d5.cb781","storage":"6c999ed1.7d41f","action":"add","rels":"message_sender","relsType":"storId","value1":"inviter","value1Type":"msg","value2":"invitee","value2Type":"msg","value1Req":"apiRes.message_id","value1ReqType":"msg","value2Req":"tgUpdateObj.from.id","value2ReqType":"msg","limitRes":"20","limitResType":"num","offsetRes":"0","offsetResType":"num","name":"Добав в message_sender","property":"payload","x":1710,"y":260,"wires":[[]]},{"id":"7b7d959c.a503ac","type":"switch","z":"816191d5.cb781","name":"Ответ?","property":"tgUpdateObj","propertyType":"msg","rules":[{"t":"hask","v":"reply_to_message","vt":"str"}],"checkall":"false","repair":false,"outputs":1,"x":1160,"y":380,"wires":[["3c811c29.b17d74"]],"outputLabels":["Да"]},{"id":"3c811c29.b17d74","type":"drom-data-relationships-num","z":"816191d5.cb781","storage":"6c999ed1.7d41f","action":"get","rels":"message_sender","relsType":"storId","value1":"tgUpdateObj.reply_to_message.message_id","value1Type":"msg","value2":"","value2Type":"undef","value1Req":"apiRes.message_id","value1ReqType":"msg","value2Req":"tgUpdateObj.from.id","value2ReqType":"msg","limitRes":"","limitResType":"undef","offsetRes":"0","offsetResType":"num","name":"Найти в message_sender","property":"message_sender","x":1410,"y":380,"wires":[["ed52d334.5457c"]]},{"id":"ed52d334.5457c","type":"switch","z":"816191d5.cb781","name":"Есть?","property":"message_sender","propertyType":"msg","rules":[{"t":"nempty"}],"checkall":"false","repair":false,"outputs":1,"x":1470,"y":420,"wires":[["6c4344ad.334b9c"]],"outputLabels":["Да"]},{"id":"35df003b.499d4","type":"comment","z":"816191d5.cb781","name":"Настройка","info":"","x":400,"y":100,"wires":[]},{"id":"8ab3ffbd.097a1","type":"drom-tg-api-config","name":"Мой Telegram Бот"},{"id":"6c999ed1.7d41f","type":"drom-data-config","name":"","dbType":"sqlite","sqliteFile":"my-data.sqlite"}]
    Ответ написан
  • TelegramBotAPI как сделать клавиатуру?

    alexk111
    @alexk111
    Автор Ботодрома (автоматизация Telegram, VK и др.)
    Это делается параметром reply_markup в методе sendMessage. Подробнее тут: https://core.telegram.org/bots/api#sendmessage
    Ответ написан
    4 комментария
  • Не возможна рассылка по пользователям в pytelegrambotapi?

    alexk111
    @alexk111
    Автор Ботодрома (автоматизация Telegram, VK и др.)
    Если python - не обязательное требование, то, возможно, будет быстрее, проще и наглядней сделать такой рассыльщик в Ботодроме, к примеру. Могу расшарить готовый поток рассыльщика в Телеграм, если нужно.
    Ответ написан
    1 комментарий
  • Телеграм ботов лучше писать на Python, PHP или Node.js?

    alexk111
    @alexk111
    Автор Ботодрома (автоматизация Telegram, VK и др.)
    Делаю ботов в Ботодроме (на Node.js фундаменте)
    Ответ написан
    Комментировать
  • Как найти юзернейм пользователя нажавшего на колбек кнопку, если кнопка выведена в группе?

    alexk111
    @alexk111
    Автор Ботодрома (автоматизация Telegram, VK и др.)
    message - это объект оригинального сообщения, в котором висит кнопка. Попробуйте `call.from.id`.

    Upd: `call.from.id` - это ид пользователя. Для username - `call.from.username`
    Ответ написан
  • Как очистить историю канала с помощью телеграм бота?

    alexk111
    @alexk111
    Автор Ботодрома (автоматизация Telegram, VK и др.)
    Готовый код не выдам, но алгоритм будет следующий:

    - при добавлении сообщения методом `sendMessage` - запоминаем его `message_id`
    - по таймеру удаляем сообщения методом `deleteMessage` для каждого `message_id`
    Ответ написан
    Комментировать
  • Есть телеграм бот и 2 страницы как сделать так чтобы я мог управлять куда переадресуется клиент с помощью кнопки в боте тг?

    alexk111
    @alexk111
    Автор Ботодрома (автоматизация Telegram, VK и др.)
    В объекте сообщения нужно передать в свойстве "reply_markup" объект типа InlineKeyboardMarkup, например (JS):
    {
      "inline_keyboard": [{
        "text": "Кнопка 1",
        "url: "https://website1.com/"
      }, {
        "text": "Кнопка 2",
        "url: "https://website2.com/"
      }]
    }
    Ответ написан