Ответы пользователя по тегу API
  • Как узнать название товара в боте?

    alexk111
    @alexk111
    Автор Ботодрома (автоматизация Telegram, VK и др.)
    Если приходит сообщение, к которому прикреплен товар, тогда можно сделать следующее. Ловим события `входящее сообщение`. В объекте сообщения проверяем в массиве `attachments` наличие объекта с `type = market`. Это объект товара, у которого название находится в свойстве `title`.
    Ответ написан
  • Как узнать айди человека вк по ответу на сообщение?

    alexk111
    @alexk111
    Автор Ботодрома (автоматизация Telegram, VK и др.)
    Для события `message_new` (входящее сообщение) от ВК приходит объект message. У этого объекта есть свойства `reply_message` ( объект сообщения, в ответ на которое отправлено текущее), а также `from_id` (идентификатор отправителя текущего сообщения).
    Ответ написан
    Комментировать
  • Как кешировать запросы с сервера?

    alexk111
    @alexk111
    Автор Ботодрома (автоматизация Telegram, VK и др.)
    Ответ написан
    Комментировать
  • Как превысить лимит запросов к API GitHub?

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

    alexk111
    @alexk111
    Автор Ботодрома (автоматизация Telegram, VK и др.)
    Это делается обычным sendMessage с установленными:
    - chat_id - ид группы для обсуждений, привязанной к каналу
    - reply_to_message_id - ид сообщения, созданного в группе для обсуждений постом в канале

    Такое сообщение будет отображено в клиенте как комент к посту на канале
    Ответ написан
    Комментировать
  • Не работает выставление счёта qiwi?

    alexk111
    @alexk111
    Автор Ботодрома (автоматизация Telegram, VK и др.)
    Сейчас код в серверной части после обращения к PUT /create-payment вызывает qiwi(), который ничего не возвращает (возвращает undefined), и это парсится в JSON.parse.

    Вы, видимо, хотите отпарсить результат вызова qiwiApi.createBill( billId, fields ). Если это так, тогда исследуйте - как работать с async-функциями и/или использовать Promise.

    Если правильно понял то, что вы хотели сделать, то серверный код будет таким:

    app.put('/create-payment', async function (req,res,next) {
      const data = await qiwi(); // получаем в data результат вызова qiwiApi.createBill
      const p = JSON.parse(data);
      // тут делаем что-то еще, если нужно
      next(); // т.к. функция асинхронная, вызываем next, чтобы объявить о завершении выполнения этого middleware
    });
    
    
    async function qiwi() {
      const billId = qiwiApi.generateId();
    
      const fields = {
          amount: 1.00,
          currency: 'RUB',
          comment: 'test',
          expirationDateTime: '2018-03-02T08:44:07',
          successUrl: 'http://test.ru/'
      };
    
      const data = await qiwiApi.createBill( billId, fields );
      // тут делаем что-то еще, если нужно
      return data; // возвращаем результат вызова qiwiApi.createBill
    }
    Ответ написан
    1 комментарий
  • Как подсчитать общее количество подписчиков из нескольких групп в ВК?

    alexk111
    @alexk111
    Автор Ботодрома (автоматизация Telegram, VK и др.)
    Если нужно готовое решение, тогда вот поток для Ботодрома. Возвращает страницу на урле /group-stats, которая выводит статсы по каждой группе и сумму во всех группах. В узле "Данные VK API" вставить id групп, для которых выводить данные, в "Мой акк" - свой токен для доступа к VK API и готово.

    [
        {
            "id": "1a53fed2.b20021",
            "type": "change",
            "z": "398791b.201f36e",
            "name": "Данные VK API",
            "rules": [
                {
                    "t": "set",
                    "p": "apiData.group_ids",
                    "pt": "msg",
                    "to": "business,donut",
                    "tot": "str"
                },
                {
                    "t": "set",
                    "p": "apiData.fields",
                    "pt": "msg",
                    "to": "members_count",
                    "tot": "str"
                }
            ],
            "action": "",
            "property": "",
            "from": "",
            "to": "",
            "reg": false,
            "x": 600,
            "y": 380,
            "wires": [
                [
                    "4baee50a.80781c"
                ]
            ]
        },
        {
            "id": "4baee50a.80781c",
            "type": "drom-vk-api-call",
            "z": "398791b.201f36e",
            "name": "Получ инфо о группах",
            "data": "apiData",
            "dataType": "msg",
            "method": "groups.getById",
            "methodType": "str",
            "property": "payload",
            "client": "f6e8a943.b2d388",
            "apiV": "5.126",
            "x": 630,
            "y": 420,
            "wires": [
                [
                    "e8e387ac.a92108"
                ]
            ]
        },
        {
            "id": "bb769f50.7776f",
            "type": "drom-template",
            "z": "398791b.201f36e",
            "name": "HTML",
            "field": "payload",
            "fieldType": "msg",
            "syntax": "handlebars",
            "htmlEscape": true,
            "template": "<html>\n<head></head>\n<body>\n<ul>\n{{#each payload}}\n<li>{{this.name}} - {{this.members_count}}</li>\n{{/each}}\n</ul>\n\n<p>\n  Всего: {{total}}\n</p>\n</body>\n</html>",
            "x": 1090,
            "y": 380,
            "wires": [
                [
                    "4ebdbb53.73c5f4"
                ]
            ]
        },
        {
            "id": "e7643afd.a46498",
            "type": "http in",
            "z": "398791b.201f36e",
            "name": "",
            "url": "/group-stats",
            "method": "get",
            "upload": false,
            "swaggerDoc": "",
            "x": 360,
            "y": 400,
            "wires": [
                [
                    "1a53fed2.b20021"
                ]
            ]
        },
        {
            "id": "4ebdbb53.73c5f4",
            "type": "http response",
            "z": "398791b.201f36e",
            "name": "",
            "statusCode": "",
            "headers": {},
            "x": 1090,
            "y": 420,
            "wires": []
        },
        {
            "id": "e8e387ac.a92108",
            "type": "change",
            "z": "398791b.201f36e",
            "name": "Сумма всех",
            "rules": [
                {
                    "t": "set",
                    "p": "total",
                    "pt": "msg",
                    "to": "$sum(payload.members_count)\t",
                    "tot": "jsonata"
                }
            ],
            "action": "",
            "property": "",
            "from": "",
            "to": "",
            "reg": false,
            "x": 870,
            "y": 400,
            "wires": [
                [
                    "bb769f50.7776f"
                ]
            ]
        },
        {
            "id": "f6e8a943.b2d388",
            "type": "drom-vk-api-config",
            "apiV": "5.126",
            "name": "Мой акк"
        }
    ]
    Ответ написан
    Комментировать