Telegram заблокировал Flibusta бота
Telegram заблокировал @flibustafreebookbot, бота предназначенного для поиска книг на одноименном сайте.
При попытке начать диалог с ботом получаем сообщение » this bot is unavailable due to copyright infringement»
Еще на одну свободу в интернете стало меньше.
При этом блокировка относиться только к мобильному приложению, на десктопе бот продолжает работать как и раньше.
Конечно блокировка связанна с авторскими правами, Telegram и ранее блокировал ботов, например @vkmusic_bot в декабре 2015г. тоже был заблокирован по требования Apple.
Скорее всего у Telegram нет другого выхода т.к. если Telegram не выполнит требования выдвигаемые Apple, Telegram могут удалить из AppStore.
UPD: бот не работает и на android, остался рабочий только клиент для десктопа.
Чтобы пользоваться ботом на android либо на apple устройствах:
— создайте свою группу в telegram
для этого нажмите на символ в верхнем правом углу в клиенте telegram:
Создайте группу :
— в поле «кому вы бы хотели написать?» введите @flibustafreebookbot
— назовите группу например Flibusta books
— ботом можно продолжать пользоваться внутри группы так же как и раньше, пишем название книги или автора и скачиваем.
UPD: Недавно появилась надпись при скачивании книг:
this message couldn’t be displayed on youre devise due to copirite infringement |
Для ее обхода нужно дать боту права на выбора администратора.
Для этого нажимаем на иконку группы вверху и нажимаем кнопку Изм.
В самом низу есть вкладка Администраторы нажимаем на нее.
Нажимаем кнопку Добавить Администратора
Добавляем в администраторы бота:
Напишите в комментариях получилось ли у вас использовать бот через группу.
Флибуста бот в Телеграмм ⚠
Все мы любим читать. Однако это нравится нам в два раза больше, когда мы делаем это бесплатно. С появлением интернета редко возникали проблемы с нахождением литературы в свободном доступе. Но время идет, появился РКН со своими блокировками и большое количество платных сервисов. В этой статье мы разберем, как использовать бот Флибуста в Телеграмм.
Что такое Flibusta
Для тех, кто в танке, объясним, что это крупнейшая библиотека РУнета, где все книги находятся в свободном доступе. Сервис появился сразу после того, как сайт Либрусек поменял своё направление на коммерческое. Многих пользователей это не устроило, в результате чего появился вот такой аналог. Помимо полной бесплатности сайта, его немаловажным достоинством является то, что все произведения на нем можно найти почти во всех популярных форматах. Например, к ним относятся:
В связи с развивающимся законодательством в области интернет пиратства ресурс находится под санкциями. Ниже мы покажем один из способов, как им можно пользоваться.
Как использовать Flibusta Book Bot в Telegram
Вначале надо разобраться, что же такое бот. Если быть кратким, то это специальное приложение или программа, которая выполняет всякие полезные для пользователей действия. Конкретно в этом случае позволит нам скачивать нужную литературу. Итак, вот что вам предстоит сделать:
Что делать если Флибуста Бук Бот в Телеграмм не работает
Такое случается часто и виной тому все тот же РосКомНадзор, а также жалобы со стороны правообладателей. Если представленный выше, или любой другой, Flibusta Book Bot в Telegram не работает вам придется искать группы разработчиков энтузиастов, которые занимаются созданием и поддержкой таких проектов. Найти их можно во всех популярных социальных сетях (Вконтакте, Одноклассники, Facebook). Также есть специальные чаты и в Телеграмм. Вот один из таких: https://t.me/flibustafreebook. В поисковой строке укажите что-то вроде: Book Bot Телеграмм. После нахождения нужного сообщества выполните анализ постов и найдите ссылку на рабочего бота.
Заключение
Вот и всё, теперь вы знаете что такое бот Флибуста в Телеграмм, а также имеете представление о том, как пользоваться сервисом. Как вы видите, сложного здесь ничего нет, и с задачей легко справится даже юзер начального уровня. Если вы столкнулись с затруднениями, или одна из ссылок в статье ломанная, то напишите в комментарии.
Бот Флибуста на телеграмме
Сегодня прямо на глазах перестал работать бот флибусты на Андроиде, на IOS он не работает давно. Теперь и тут.
Пишет что этот бот недоступен в связи с авторскими правами.
Ну что же, остается только прокси.
UPD: К посту есть вопросы #comment_177865952
Бот был ограничен и на android. Чтобы пользоваться ботом:
• создайте свою группу
Уже снова не работает.
Тут есть кто живой?) как на данный момент книжки качать, можете рассказать?
Не пугайте так, все работает
Такая же проблема на Андроиде. Как то можно обойти без добавление в группу как писалось выше? На ПК всё работает хорошо.
Земной тебе поклон, добрый человек. Мало того, что все работает, так ещё и только для меня)))
Никогда не пользовался ботом телеграма. Есть же moon+reader + opds флибусты + vpn.
Нахрена автор этот пост выкатил?, чтоб скринов накидали что-ли?
Команды в телеграм ботах
В ботах часто используются команды вида “/command”, которые провоцируют бота на то или иное действие.
Кто уже создавал ботов мог видеть их в @botfather.
Давайте разберемся как создать этот список команд и присвоить каждой ту или иную функцию.
С созданием списка команд все довольно просто, это реализуется непосредственно в настройках бота через @BotFather:
1) Вводим команду /mybots
2) Видим список наших ботов
3) Выбираем тот бот, которому присвоим список команд
4) Кликаем Edit Bot
5) Кликаем Edit Commands
Далее, следуя формату, отправляем список команд, например:
Теперь если мы введем “/” в чате с нашим ботом, то он предложит список команд. Проверяем, что список есть:
Добавим логику нашим командам
Как уже видно из описания команд, я хочу отправить в чат клавиатуру.
Создам новую ГТ и перейду к написанию скрипта
Назову файл doPost, здесь будет только эта функция
Добавлю следующий скрипт:
let update = JSON.parse(e.postData.contents);
let msg = update.message;
let msg_array = msg.text.split(» «);
let user = msg.from.username;
if (text == «/getkeyboard») <
Demo.send_key(«Галочки», chat_id, API, keyboard)
Demo.send(«Клавиатура сохранена”, chat_id, API)
Все! Для каждой команды теперь добавлен функционал.
Хорошо, расскажу поподробнее))
Итак, если текст сообщения == “/getkeyboard”, мы отправляем в чат некую клавиатуру.
Если мы отправили боту команду “/save”, то он ответит нам сообщением “Клавиатура сохранена”.
Подробно функции send и send_key, а также библиотека Demo рассматривались в постах ранее. Вот ссылки:
Дабы не перегружать дорогого читателя инфой, остановлюсь здесь)
Как всегда жду фидбека и вопросиков ^^ Всегда рады пообщаться!
Типы клавиатур в чат ботах
Сегодня познакомимся с существующими клавиатурами в ботах и тем, как их подключить и настроить.
Всего есть два типа клавиатур:
ReplyKeyboardMarkup используется в случаях, когда вы хотите получить от пользователя конкретный ответ, предоставляя ему возможность не печатать ручками, а выбрать из предлагаемых вариантов. Иными словами, это заготовки текстовых сообщений. Расположены кнопки под полем ввода сообщения
В зависимости от выбранной кнопки могут последовать те или иные действия. Эту логику мы задаем в скрипте для каждой кнопки.
В приведенном примере мы хотим записать пользователя на маникюр и предлагаем ему определиться с днем (в качестве примера приведены только два варианта, но это можно закастомить).
После выбора того или иного дня бот внесет инфу в ГТ, а именно: дату, имя пользователя и ид чата.
Запись через чат имеет следующий вид
Здесь мы выбрали кнопку Сегодня и получили ответ от бота.
В ГТ при этом появилась строчка
Подключение и настройка
Каждая клава (инлайн-клавиатур может быть сколько угодно) записана в соответствующую переменную:
[«Записаться», «Отменить запись»]
Обратите внимание, что синтаксис для инлайн (INLINE_Days) и обычной (KEYBOARD) клавиатур различается.
Клавиатурам можно добавить дополнительные свойства, мы использовали только resize_keyboard со значением true. Их не так много и они есть в документации телеграма.
Далее в коде обращаемся к клавам по имени переменной.
С ReplyKeyboardMarkup все достаточно просто. Она добавляется при первом прогоне скрипта, когда вы отправляете в чат команду /start, например.
Нам нужна функция, которая отправит в чат клавиатуру. Функция та же, что и при отправке сообщения ботом send(), за двумя исключениями:
Ниже скрипт функции отправки обычной клавы в чат:
function send_key (msg, chat_id, api, keyboard)
Вызов функции осуществляется из тела функции doPost(e) одной строкой:
send_key(«Поехали», chat_id, API_TOKEN, KEYBOARD)
Что касается инлайн-клавиатур.
Отправка клавиатуры наступает при определенном условии. Если пользователь отправил в чат слово “Записаться”, то отправляем ему нашу инлайн-клаву:
if (text == «Записаться») <
Demo.send_key(«Выберите день», chat_id, API_TOKEN, INLINE_Days)
Переменная text содержит текст сообщения, которое мы и проверяем на соответствие.
Результатом выполнения функции send_key будет сообщение от бота Выберите день и кнопки под ним.
Далее нужно предусмотреть алгоритм обработки нажатия этих кнопок.
Если мы кликаем на какую-либо из кнопок (“Сегодня” или «Завтра»), то добавляем новую строку в ГТ и отправляем сообщение в чат, что запись создана.
let date = Demo.getNewDate(0);
let ind = get_ind(chat_id);
Demo.send(«Вы успешно записались. «+»Дата визита: «+ date, chat_id, API_TOKEN);
Ниже скрипт полностью (не забываем, что значения глобальных переменных у вас будут свои):
// Объявляем все нужные нам переменные. Док важно открывать именно по ID, а не брать активный док, т.к. запуск кода будет производить бот
const API_TOKEN = «1946675042:AAHg1HTHe42GhR9EEt0EdbR94j1G8pDcTWE«;
const DOC = SpreadsheetApp.openById(«1ALJLtLdt-LT7GEF4hawIizVeJXFnoPZCsC0pw7kcp70«);
const Clients = DOC.getSheetByName(«Clients»);
const Calendar = DOC.getSheetByName(«Calendar»);
var update = JSON.parse(e.postData.contents);
var msg = update.message;
var msg_array = msg.text.split(» «);
var user = msg.from.username;
if (text == «Записаться») <
Demo.send_key(«Выберите день», chat_id, API_TOKEN, INLINE_Days)
if (text == «Отменить запись») <
let ind = get_ind(chat_id);
Demo.send(«Запись отменена», chat_id, API_TOKEN)
var text = update.callback_query.message.text;
var user_name = update.callback_query.from.username;
let date = Demo.getNewDate(0);
let ind = get_ind(chat_id);
Demo.send(«Вы успешно записались. «+»Дата визита: «+ date, chat_id, API_TOKEN);
let date = Demo.getNewDate(1);
let ind = get_ind(chat_id);
Demo.send(«Вы успешно записались. «+»Дата визита: «+ date, chat_id, API_TOKEN);
Отдельно ниже представлена доп функция, которая проверяет наличие ид в ГТ. Если ид уже есть в таблице, мы обновляем данные у строки с этим ид. В противном случае создаем новую строку.
let chat_id = 311157431;
let arr = Clients.getRange(1,2,Clients.getLastRow()).getValues()
let ind = arr.indexOf(chat_id)
ID для подключения библиотеки Demo: 1JkXEW_zfhr6v0TKsvU_ZbygNLpXEczxZcC46fMF_ffk-noMk8UKcMitz
Здесь также заметим, что клик по кнопке в инлайн клавиатуре отправляет боту JSON со свойством callback_query. Это значит, что нам нужны дополнительные переменные, в которые мы запишем значения из этого JSON пакета.
Это краткая вводная в мир клавиатур. Скоро будут посты про простые сервисы, куда будут добавлены и доработаны те же клавиатуры и доп функции.
Чат с прогнозом погоды и триггеры в гугл таблицах (GS6)
Глобально задача в следующем:
Отсюда я забрал прогноз:
Подробнее о том как спарсить данные с сайта в таблицу в этом посте: Парсинг данных с сайтов в гугл таблички (GS1)
Тут приведу только формулу:
Для этого нам необходимо сохранять ид чата отдельно в таблице и обращаться к этому значению как к значению переменной chat_id.
Соответственно, нам нужна функция, которая будет это делать:
//записывает ид чата в таблицу
Demo.send(«ID записан», chat_id, API_TOKEN);
Вызывать ее мы будем из тела функции doPost(e) при условии, что боту отправлена команда /link. В коде это выглядит вот так:
Теперь соберем все вместе и сформируем сообщение для отправки в чат.
Все, что в кавычках, должно быть изменено на ваши значения.
Функция для подключения веб хука:
Функция link(chat_id) для запоминания id чата
Функция daily() для формирования и отправки прогноза в чат:
На данный момент функция daily() не вызывается другой функцией или командой типа /link или /hello.
Мы добавим триггер, который будет вызывать функцию автоматически каждое утро.
Переходим на вкладку Triggers
Добавляем новый триггер
В окне задаем необходимые параметры.
Результат работы скрипта ниже.
Дополнительно: триггеры на то и триггеры, что работают автономно (без участия пользователя или разработчика, с закрытым доком или чатом. В любой ситуации сообщение будет отправлено в чат в установленное время с установленной частотой.
Создание библиотеки в гугл скриптах
В Гугл скриптах, как и в других языках программирования, есть возможность использовать библиотеки.
Что такое библиотека? Это набор функций и методов, которые часто используются программистами в разных программах. Чтобы не создавать одну и ту же функцию дважды или больше раз, достаточно один раз сохранить ее в библиотеку и подключать библиотеку к новому коду с уже написанными стандартными функциями.
В посте про создание телеграм бота мы использовали только три функции, и эти функции стандартные для любого бота. Следовательно, чтобы при создании второго, третьего… десятого бота не переписывать эти функции снова и снова, давайте просто сохраним их в библиотеку.
Создаем новые ГТ и скрипт в ней
Пропишем функцию send(msg, chat_id) :
function send (msg, chat_id, api) <
//Отправляет сообщения в тлг. На вход функции дать сообщение и ID чата, в который нужно провести отправку
UrlFetchApp.fetch(‘https://api.telegram.org/bot’ + api + ‘/’, data);
Сохраняем проект и делаем деплой
Кликаем по шестеренке и выбираем Library
Кликаем Deploy внизу окна и видим ссылку на библиотеку
Создаем новые гугл таблицу и скрипт. В скрипте прописываем глобальные переменные
Помним, что значения этих переменных у вас будут свои.
Попробуем добавить тот же функционал, что и в посте про создание бота, с отправкой сообщения в чат телеграма. Но в этот раз мы не будем создавать функцию send(), а подключим библиотеку, в которой она уже есть.
В открывшемся окне вставляем ID библиотеки (не ссылку, а ид) и кликаем Look up
Если подключение библиотеки прошло успешно, в окне появятся дополнительные поля выбора версии и указания идентификатора.
Название идентификатора меняем на короткое и понятное и кликаем Add.
В результате в списке библиотек видим новую библиотеку
Напоминаю, что в библиотеке у нас 1 функция. К ней можно обратиться следующим образом: имяБиблиотеки.имяФункции
Когда вы прописываете имя библиотеки и ставите точку, вы видите список всех доступных функций. В нашем случае это только функция send. Выбираем ее и прописываем передаваемые параметры:
Demo.send(«Hello World», chat_id, API_TOKEN)
Сохраняем проект, кликаем Deploy, обновляем Api_link, выполняем функцию api_connector и идем тестить работу этого бота (этот алгоритм действий также подробнее описан в статье про создания бота).
Новый бот отправляет сообщение в чат с помощью функции, которая зашита в библиотеке.
Таким образом, в ту же библиотеку можно добавить ряд стандартных функций и к новым скриптам подключать уже написанные функции, не создавая их снова.
Комбинация из ТЛГ и ГТ, простота подключения КМК делает из ГТ офигенный инструмент автоматизации.
Пост ориентирован прежде всего на людей, которые только познают ГТ и на первых порах не требует знания гугл скриптов. В этом посте будет только первичная настройка и подключение. В следующих постах рассмотрю всё что описал выше (как трекать время, задачи, финансы и т.д. и как это настроить под себя).
Для начала находим отца всех ботов @botfather в телеге.
После старта бота botftaher выведет список команд. Здесь нам интересна команда создания нового бота /newbot.
Порядок очень простой: создать бота, назвать его человеческим языком, задать ему username. В результате получаем API токен нашего бота (1860347610:AAH1q6eqTPnVh0qe6mQWidNSTELcprXEfOk). Он-то нам и нужен.
Должно получиться вот это:
Затираем дефолтный код и вставляем следующий скрипт:
const API_TOKEN = ‘1860347610:AAH1q6eqTPnVh0qe6mQWidNSTELcprXEfOk‘
const DOC = SpreadsheetApp.openById(‘10W0T9eOP_NN_6g4qyEJzWjm4nkKRN2vyUOnpx73f-N0’);
var update = JSON.parse(e.postData.contents);
//нам нужен только тип «сообщение»
var msg = update.message;
var msg_array = msg.text.split(» «);
var user = msg.from.username;
if (msg_array[0] == «/hello») <
send(«Hello World», chat_id)
function send (msg, chat_id) <
//Отправляет сообщения в тлг. На вход функции дать сообщение и ID чата, в который нужно провести отправку
UrlFetchApp.fetch(‘https://api.telegram.org/bot’ + API_TOKEN + ‘/’, data);
Обращаем внимание на переменные DOC и API_TOKEN (выделено жирным). Значения переменных необходимо исправить на ваши значения.
1) меняем ID гугл таблицы (находится в строке адреса после /d/)
2) меняем токен бота, который мы получили при его создании выше
Круто! Львиная доля работы уже проделана.
Следующим важным моментом является регистрация вебхука (webhook).
Добавим следующий код к нашему скрипту:
Сохраняем наш код и кликаем Deploy.
В открывшемся окне кликаем по шестеренке и выбираем Web app
В поле Who has access выбираем Anyone
При первом запуске приложение попросит авторизации. Проделываем это упражнение.
Здесь нам нужен URL в самом конце. Копируем его и вставляем в качестве значения переменной App_link.
Теперь функция должна выглядеть следующим образом:
Снова сохраняем код и запускаем функцию api_connector:
И наконец переходим к боту в телеге! Запускаем, отправляем команду /hello и видим результат.
Теперь подробно по коду. В коде всего 3 функции:
В нашем случае, если мы отправляем команду /hello, бот отвечает Hello World, вызывая функцию send. Это все его действия.
Когда друг сказал, что покупает Ладу за 1,2 млн, стало понятно, что с рынком что-то не то. Делаем робота для поиска авто
Привет! Меня зовут Лев. Мы с командой развиваем «умного» робота HomeBro, который с недавних пор помогает бесплатно находить не только жилье, но и автомобили.
Для тех, кто еще не знаком с Бро – я рассказывал про создание робота по поиску жилья в этой статье.
В последние месяцы мы все чаще слышали запросы от наших пользователей и знакомых на аналогичного бота для поиска автомобилей. Оказалось, что купить хорошую машину за вменяемые деньги сейчас очень непросто.
Пообщавшись с людьми, мы выявили целый ворох проблем. Вот некоторые из них:
Взлет цен. Из-за коронавируса и кризиса полупроводников произошли серьезные сбои в поставках новых автомобилей. В ситуации дефицита и роста стоимости металла цены на машины в салонах резко повысились. Следом закономерно выросли цены и на авто с пробегом.
Засилье перекупщиков. Эти ребята постоянно мониторят рынок и успевают перехватить большинство адекватных вариантов на вторичном рынке. Они пользуются различными инструментами, в том числе и платными чат-ботами.
В итоге купить машину по хорошей цене, не имея мгновенных оповещений о новых вариантах – очень сложно.
У каждой крупной площадки по продаже авто есть приложение, в котором можно настроить push-уведомления. Но дело в том, что предложения разбросаны по разным площадкам. Ставить несколько аппов, повторно настраивать поиск в каждом из них, а затем переключаться между ними очень неудобно. Как итог, многие просто забивают на это и пропускают бОльшую часть интересных предложений.
Еще один сложный момент — проверка автомобилей с пробегом. Обычные люди все реже разбираются в том, как устроены автомобили, а машины становятся все сложнее. Часто люди тратят серьезные деньги на кота в мешке. А если и понимают, что нужна помощь специалиста, то нередко вынуждены тратить время на его поиск.
Имеющиеся наработки позволили нам быстро разработать новый сценарий поиска. Конечно, все проблемы авторынка разом не решить, но вот что мы имеем на данный момент:
— Бот присылает новые объявления с 4-х сайтов – Авто.ру, Авито, Дром, СберАвто.
— Делает это шустро – в течение пары минут после публикации. За счет этого наши пользователи могут составить конкуренцию перекупщикам и поймать авто по хорошей цене.
— Одну машину присылает один раз, фильтруя повторяющиеся объявления с разных сайтов.
— Ищет и авто с пробегом, и новые машины.
— Позволяет нанять рекомендованного нами специалиста для проверки авто.
Как и в поиске жилья, в этом боте нет навязчивой рекламы и он бесплатный. А еще он работает по всей России!
Сначала думали, не назвать ли бота CarBro, но все же решили, что HomeBro (с американского сленга — «братишка с района») – достаточно универсальное название. Заодно сделали единую точку входа, которая дает возможность искать и авто, и жилье, и интересных людей, живущих рядом (про последнее писал в отдельной статье).
На то, чтобы собрать первую тысячу человек в боте по поиску жилья, полтора года назад понадобилось 4 месяца. А в боте для авто мы собрали 1000 подписок за один день, просто разослав информацию про запуск нашим пользователям. Мы получили позитивные отзывы, рекомендации друзьям и донаты, а значит все не зря.
Каждый раз кайфуем, когда читаем такие комменты к донатам Показать полностью 3