Веб-приложение Google Twitter бот для подачи твитов - PullRequest
0 голосов
/ 25 апреля 2020

Я разработал веб-приложение Google для JavaScript с поддержкой бота Telegram. Сейчас я начинаю разрабатывать подобный бот для Twitter.

Кто-нибудь делал подобное и готов поделиться?

1. Я создал приложение для Twitter и получил:

  • Имя приложения и идентификатор приложения

2. Для приложения я получил:

  • Ключи API потребителя (ключ API и секретный ключ API)

  • Маркер доступа и доступ секрет токена (токен доступа, секрет токена доступа и уровень доступа)

3. Разрешение на чтение, запись и отправку сообщений.

4. Настройка метки среды разработки для:

  • Поиск твитов: 30-DaysSandbox

  • Активность учетной записи APISandbox (предназначено для использования webhook)

Заранее благодарен за любую помощь!

Примечание: в целях иллюстрации, веб-приложение Google JavaScript код для бота Telegram

// Telegram
var vApiTokenTelegram = "1145255554:AAGcJeV3Rr0F-3g99UT1JM2OwdgblkKOJug"; // @MediaFlamengoPromotionBot API token
var vUrlTelegram = "https://api.telegram.org/bot" + vApiTokenTelegram;
var vWebAppUrl = "https://script.google.com/macros/s/AKfycbzdsMwXzW2asdfgKkrasCUcokdq0T7Kx9qCKhXgtG_R1vNs9Hw/exec";

function getMe() {
    var response = UrlFetchApp.fetch(vUrlTelegram + "/getMe");
    console.log(response.getContentText());  
}

function getUpdates() {
    var response = UrlFetchApp.fetch(vUrlTelegram + "/getUpdates");
    console.log(response.getContentText());
}

function setWebhook() {
    var response = UrlFetchApp.fetch(vUrlTelegram + "/setWebhook?url=" + vWebAppUrl);
    console.log(response.getContentText());  
}

function deleteWebhook() {
    var response = UrlFetchApp.fetch(vUrlTelegram + "/deleteWebhook?url=" + vWebAppUrl);
    console.log(response.getContentText());  
}

function getChatAdministrators( chat_id ) {
    var sResponse = UrlFetchApp.fetch(vUrlTelegram + "/getChatAdministrators?chat_id=" + chat_id);
    return sResponse;
    console.log(response.getContentText());  
}

function sendMessage( chat_id, text ) {
    var encodedText = encodeURIComponent(text);
    var response = UrlFetchApp.fetch(vUrlTelegram + "/sendMessage?chat_id=" + chat_id + "&text=" + encodedText );
    // console.log(response.getContentText());  
}

function sendFormattedMessage( chat_id, text, parse_mode, disable_web_page_preview, disable_notification ) {
    var encodedText = encodeURIComponent(text);
    var response = UrlFetchApp.fetch(vUrlTelegram + "/sendMessage?chat_id=" + chat_id + "&text=" + encodedText + "&parse_mode=" + parse_mode );
    // console.log(response.getContentText());  
}

function doPost(e) {
    var contents = JSON.parse(e.postData.contents);
    var id = "";
    var chat_id = "";
    var text = "";
    var name = "";
    var data = "";
    var sResponse = "";

//    GmailApp.sendEmail(Session.getEffectiveUser().getEmail(), "Telegram Bot Update", JSON.stringify(contents, null, 4));

    if ( typeof( contents.message ) != "undefined" ) {
        id = contents.message.from.id;
        chat_id = contents.message.chat.id;
        text = contents.message.text;
        name = contents.message.from.first_name + " " +  contents.message.from.last_name;
        data = contents.message.text;
        sResponse = telegramBotMachine ( id, chat_id, text, name, data );
    } else if ( typeof( contents.callback_query ) != "undefined" ) {
        id = contents.callback_query.from.id;
        chat_id = contents.callback_query.message.chat.id;
        text = contents.callback_query.message.text;
        name = contents.callback_query.from.first_name + " " + contents.callback_query.from.last_name;
        data = contents.callback_query.data;
        sResponse = telegramBotMachine ( id, chat_id, text, name, data );
    } else {
        //  block of code to be executed if the condition1 is false and condition2 is false

    }
}
...