Comments 81
Я написал себе домашнего бота для скачивания видео с ютуба в папку на nas. Откуда старенький tv (ютуба на нем нет вменяемого) по dlna проигрывает. Оказалось довольно удобно, со смартфона или планшета ссылку просто боту кидаешь и он выкачивает и сообщает о действиях.
А долго выкачивает? Вообще крутое решение проблемы отсутствия ютуба на тв)
Вообще, приложение YT на конкретном ТВ достаточно отвратно работает во многих случаях. Если ролик для просмотра больше десятка минут, очень хочется иметь мух отдельно - котлеты отдельно, т.е. - иметь ролик отдельно от приложения, от YT, от их идиотских рекомендаций, от рекламы...
Так что бот для роликов кажется отличной идеей.
В среднем меньше минуты. Глянул, 750Мб ролик около 1 минуты. (yt_dlp.YoutubeDL({'format': 'best', 'paths':...) Написано на Python, используется модуль yt_dlp, обмен с telegram bot api на requests без сложностей. Скрипт как демон просто запущен.
Крутое решение это подключить тв как монитор.
Как доп идея использования бота телеграмм это получение данных из личного календаря(если используете)
По первому пункту - если без пересылки в телеграм, для скачивания файлов с сервера есть такая замечательная штука как scp )
Я себе сделал бота, который собирает мемы из групп в ВК, которые я смотрел, и постит мне в ТГ (т.к. из вк ушел). Тоже удобная штука, все в одном месте и в больших количествах.
Если интересно, то вот - https://t.me/nueraul, но юмор у меня специфический :)
То есть что угодно, что посмотрели, сразу идет в телегу или только лайкнутое?
Нет, просто я выбрал группы в ВК, которые смотрел. Дальше просто утром бот проходится по всем группам из списка, сохраняет мемы, дальше считает отношение лайков к просмотрам, выкидывает 20% худших, остальное постит в телеграмм
Поделись ссылкой на гит пожалуйста
Здравствуйте, а как вы решаете проблему, что ботов можно создать на один профиль всего до 10 штук?
Вопрос: где живут боты? На чем вы их крутите? Ведь они должны быть доступны 24/7
Лень, конечно, двигатель прогресса. Я также в конфе по совместным играм тг с друзьями написал бота чтобы по тегу @all он как в слаке тегал всех, чтобы не перечислять по одному никнейму всех людей)
это похоже гениально! Спасибо за идею)
А есть какое-то решение, отличное от тг-клиента на питоне, который имеет доступ к методу получения участников группы?
Как раз столкнулся с этой проблемой, оказалось что получать всех участников группы можно только «приложению», а там отдельная регистрация и тп
Я забил, сделал решение, добавляющее (а заодно обновляющее, вдруг ник поменялся) участников в кэш при их любом сообщении, а также при ивенте входа в группу (ну и удаление при выходе). Подсмотреть, если вдруг пригодится, можно тут
Почему бы не использовать некого "прокси" бота для личных ботов дабы не так быстро расходовать лимит на них и не засорять список чатов? Да, нужно будет обдумать как сделать более удобную навигацию и переключение контекста в некоторых случаях, но у bot API полно методов позволяющих сделать это без вреда для опыта использования.
Ради эксперемента написал бота который рассказывает каждый час анекдоты и выдает умную цитату из книги)
https://t.me/chats_translator_bot - переводчик для чатов, говоришь боту с кем говорить будешь, и он пересылает все сообщения с переводом на язык получателя и обратно
Я тоже погоду/пробки "мониторил" через бота (так было быстрее, чем открывать на телефоне страничку яндекса).
Только я заморочился - специально вырезал рекламу и ненужные элементы странички:
ого! я забил на рекламу
А можно чуть подробнее как именно вы скриншот формировали?
const browser = await puppeteer.launch(launchOptions)
const page = await browser.newPage()
// set viewport and user agent (just in case for nice viewing)
await page.setViewport({ width: 1400, height: 700 })
await page.setUserAgent('Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36')
// go to the target web
let url = 'ссылка с уже настроенным маршрутом в яндекс картах'
await page.goto(url)
const path = './route.jpg'
await page.screenshot({
path
})
if (!messageId) {
const message = await bot.telegram.sendPhoto(userId, {
source: res.path
}, {
caption: res.timeStr
})
messageId = message.message_id
return message
} else {
// const message1 = await bot.telegram.editMessageCaption(userId, messageId, null, res.timeStr)
const message2 = await bot.telegram.editMessageMedia(userId, messageId, null, {
type: 'photo',
media: {
source: res.path
},
caption: res.timeStr + '\n\n' + (new Date().toISOString())
})
console.log('edited', message2)
}
Вот так
Вероятно, используя Static API
Телеграм-боты прекрасны тем, что позволяют забыть(и)ть про базовый фронт и углубиться в то, что ты хочешь. Очень много времени экономишь и получаешь вполне себе приемлемый результат
А ещё кроссплатформенность! Вообще тема!
Сам восхищаюсь тем, что можно делать удобный для себя интерфейс, не делая интерфейс:) В этом плане телеграм, конечно, порадовал сильно!
Дополню список своим ботом: Позволяет создавать issue в репозиториях GitHub-организации и назначать исполнителя: https://github.com/annndruha/issue-github-telegram-bot
Очень удобно, когда вы заметили проблему с чем-то и вам лень открывать гитхаб для создания issue.
Заинтересовал amorevbot (личный секретарь). Каким образом создаются изолированные треды? Каждый тред = диалог с отдельным ботом?
Надо создать группу в которой будешь только ты и бот, разрешить в этой группе темы. Боту дать права на управления темами. Он будет создавать новую тему (подгруппа, комната) для каждого кто напишет.
У меня в боте так логи сделаны Ж)
По заголовку ожидал, чтоб будет код ботов, а не просто "идеи"
У меня есть своя компания-галера, где мы пишем разные проекты (в том числе ботов) на аутсорсе.
=)
По некоторым ботам я поделился кодом на гитхабе) По тем, которыми не делился, мне уже написали многие в комментах в телеге и в личку. По тем, которые интересны аудитории, буду описывать в ближайшее время
Если про "отправку уведомлений", то большинство сервисов и crm имеет встроенный функционал отправки оповещений на почту. Их можно перекидывать в телегу вот этим ботом:
https://vb64.github.io/telegram.email.notify/docs/ru/guide.html
Я написал себе довольно специфичного телеграм-бота - справочник биологических добавок. Кидаешь в бота список добавок, а он говорит, описание, какие побочки, что безопасно.
Застрял в итоге на сборе данных, потому что хотелось краткую выжимку по каждому элементу а не целиком страницы из инета. Наверное теперь это можно автоматизировать через chatgpt какой-нибудь, но руки не доходят, да и имеющейся базы хватает в целом.
Я написал бота для разметки текстовых датасетов. Заливаю туда неразмеченные данные (список из текстов) и указываю варианты таргета, запускаю, он мне присылает сообщение с текстом и кнопки для каждого из вариантов, на которые размечаю датасет. Не то чтобы сильно много автоматизации, но зато можно размечать датасет лёжа на кровати или прогуливаясь, ч с что с табличкой в экселе уже существенно менее удобно. Да и банально движений пальцем больше становится, что при такой монотонной работе с множеством повторений ускоряет процесс.
Для сохранения фото достаточно поставить в телеграмме галочку сохранять фото в галерею, а Яндекс диску разрешить забирать фото из галереи. Две галочки и никаких ботов. Все отсортировано по датам, людям.
Я для семьи завел бота который работает через home assistant. Когда дома никого нет, бот шлёт замеченное движение с камер. В обычной ситуации получаю уведомления о превышении уровня CO2, температуры и другие. Боту можно писать сообщения, они пересылаются Алисе, можно управлять устройствами, но есть некоторые команды, которые обрабатываются отдельно. Например могу кинуть магнет ссылку на торрент фильма, и бот поставит его на загрузку через transmission. После скачивания оповестит, можно смотреть через plex.
У меня в разработке подобный бот с камерами для офиса и дома.
А как понимаете, что дома никого нет? по wifi? или руками в режим охраны переводите?
И еще вопрос как регаете движение? onvif или motion и подобное?
Я не тот, кому писали, но задача у меня такая же была
В моем случае для детекта движений используются датчики движения и их дополняют камеры(onvif у меня не принципиален, главное rtsp), которые вынесены в frigate, откуда уже, через mqtt, падают события движения или детекта присутствия в homeassistant. В homeassistant датчики просто группируются.
Витает в гоголве мысль приобрести датчик именно присутствия, но как-то и камеры вполне неплохо справляются.
Присутствие в доме по wifi и bt девайсам(включая часы, телефоны, пека) + датчики движения + возможность ручной установки режима. Костыльная схема - после детектирования открытия двери в течение 10 минут принудительно проверяется наличие движения и wifi клиенты семьи.
А для чего это реализовывать в боте, когда у самого HomeAssistant прекрасное приложение со всеми уведомлениями, автоматизациями? Сам пользуюсь, была идея написать бота к нему, но потом понял, что все, что мне нужно уже реализовано в их приложении
тоже увлекся ботами:
имеется бот, который парсит несколько торрент трекеров по rss, некоторые граблю bs4 и скидывает каждый час новые раздачи в виде ссылок и описаний
бот, который коннектится к камерам на даче, снимает короткие ролики каждый час, просто поглазеть ( дачу + квартиру в одну сеть wireguard'ом связал)
бот аларм-сервер , на него камеры стучаться ,когда замечено движение и ffmpeg сразу снимаю ролик с этой камеры и в канал телеги
бот скриншотер погоды
анекдотер (спарсил какой то сайт с анекдотами , почитываю)
видеодаунлоадер , тоже на yt_dlp
торрент даунлоадер на libtorrent as lt
email to телеграм транслятор
оповещатель о перезагрузках роутеров на openwrt, и еще пару команд: статистика активности, юзеры активные, перезагрузка сервиса wireguard (подвисает иногда)
есть еще грабитель двух популярных сайтов, парсит все короткие видео и все mp3 и в разные каналы заливает
есть еще docx to голос - синтезирует документы docx
хочу еще замутить что-нить с webav, пока думаю; и с народным мониторингом ( на этой прошивке у меня на даче тепло включается). В основном все это задумывалось чтобы показать сыну, что нужно заниматься программированием, но в итоге сам погряз. Самым первым ботом был оповещатель входящих звонков на базе asterisk, не знаю, работает ли по н.в. - остался на старой работе.
Подскажите, а есть ссылки на гит-репы? Хотел бы посмотреть моменты реализации отправки данных ботом по крону с одновременным чтением из чата.
По крону прикреплял ссылку на мой пост с кодом прямо в статье - https://amorev.ru/rezervnoe-kopirovanie-v-telegram/
Про одновременное чтение из чата не совсем понял о чем речь, если честно
Описание ботов конечно интересно, но хотелось бы еще и исходники увидеть чтобы у себя интересное поднять ;)
Да. Меня уже много кто просил описать. Решил в тг канале опрос провести к какому боту описание сделать техническое детальное - https://t.me/gmoreva/376
Примеры Telegram ботов для личных автоматизаций