Для ЛЛ: простейший способ отправить в чат телеги мессадж. На полноту и новизну не претендует, просто запишу для памяти. Потом же потребуется повторить, а будет уже не вспомнить. Я убил на это почти 6 часов. И еще 3 часа чтобы всё вспомнить и создать сию портянку....
В общем и целом, раз уж мне в руки попался открытый код управляющего приложения, то отчего бы в нём как следует не порыться.
Питон, ссука, это конечно, нечто... Без поллитра и гугля тут хрен чего куда.
В результате я за пару дней:
1. добавил новый параметр MOUSE TRAVEL COUNT. Таки считаю пробег мышки в сантиметрах. Очень условно. Считаю проехавшие пиксели. Далее с учетом разрешения монитора 96 dpi (так написано в винде) перевожу их в сантиметры и так далее. Так как мониторов 3 и размеры у всех разные... В общем, очень эмпирический параметр. Но я это сделал и даже добавил в редактор тем дополнительную вкладку.
2. ПИНГИ... В конфигах нашлось такое:
# Address used for ping sensor. Can be internal/external IP (e.g. 8.8.8.8 or 192.168.0.1) or hostname (google.com)
# PING: 8.8.8.8
Я прописал PING: 81.211.0.63.
Какой-то там DPI узел... tracert и смотрим как через что мы там лезем на ту же пикабу. 16 узлов. Аллес. Ладно. Показывает 0.3 - 0.02.
Захотелось линейную диаграмму. Включаю в теме, но там только целые числа. То есть MAX VALUE не может быть меньше 1.
2% от 100 - это всегда пустая диаграмма. 30% уже заметнее, но всё равно херня.
Надо увеличить "чувствительность". Кстати, поставил 0.5, но надо еще уменьшить.
Ну хер с ним, нас на кривой кобыле не объедешь. Лезу в редактор, открываю файл конфига и прописываю туда 0.5. Сохраняю, запускаю и хер там ночевал. Шкала пустая и не реагирует.
Лезу в код глубже, нахожу отрисовку прогресс-бара и вижу, что значение там сугубо целое (int блять) Меняю на float, модифицирую остальной код и наконец-то он умеет отображать дробные значения.
Кстати, свежая мысль - надо еще цвет изменять с зеленого на красный. //TODO
3. У нас имеется раздел DOWNLOADED.
И он мне зачем-то показывал какие-то неисчислимые террабайты. Оказалось, что цифра тупо берется с сетевого адаптера и показывает кол-во скачанного вареза с момента последнего включения компа. Нужный параметр. Познавательный. Нах он нужен? Хер с ним. Нашел где это. Запоминаю значение при старте приложения и потом уже при отрисовке вычитаю из текущего значения.
Гораздо информативнее. До кучи сделал еще и счётчик залитого вовне. Работает. Красота.
Ну и в целом как бы и всё. Вуаля сильвупле.
Классно. Работает, рисует, чего же более?
Но тут вмешался человеческий фактор!
Вот дисплей трудится, греется, потеет, рисует всю эту шнягу а потом я в час ночи кидаюсь тапком в кнопку СПАТЬБЛЯТЬ и ухожу. А что там за статы сегодня были - неизвестно. Все кануло.
Комп засыпает, приложение выгружается, все данные затираются. Как-то пошло. Возникла мысль писать всё это в лог на диске. Можно. А зачем? Кто и когда его потом будет читать?... И тут меня ОСЕНИЛО! А буду-ка я при выключении постить эти охуенно нужные цифирки в свой ТГ канал! Ха! И тут блять случилось минус шесть часов моей жизни. Сел в 21 час, кое-как заработало часам к 5.
Далее, простите, будет очень много мата. Ибо даже по свежей памяти я всё это воспроизвёл еще раз с трудом.
░░░░ Итак: простейший способ, отправить из приложения мессадж в телегу
Как оказалось, всё реально пиздецки просто. Всё что нам надо:
п.1. Зарегать бота и получить его токен
п.2. Узнать ёбаный id бота (!!!!)
п.3. Узнать chat_id группы, которую ты хочешь неибацца ощастливить,
п.4. Выкурить thread_id - идентификатор топика, если в группе есть эти неприпизженные разделы п.5. Написать в приложении простейший код из пары строчек.
п.6. Охуеть, добавить бота в группу непременно с правами блять АДМИНИСТРАТОРА, выключив нахер всё что там можно. Оставив лишь возможность постов.
п.7. Выпить валерьянки и пойти спать нах.
Собственно это и всё! Это реально работает! Без СМС и регистраций! Тьфу блэт.
Теперь ссука ДЕТАЛИ в которых не то что дьявол блять кроется а просто весь пиздец.
Никто никогда нигде не умеет писать внятную блять документацию! Никто нихуя!
Всё надо выискивать и выгугливать. При слове "нам надо подключиться к API" меня уже реально трясет, колотит и хочется грызть мебель.
Это пиздец.
Итаак... па пунктам, тк скть.........
п.1. Добавляем в телегу
@botfather.
Через сраный тг-поиск. Прилагаю картинок, так как ВНЕЗАПНО ссука с одним и тем же именем ботов может быть, вы ахуеете щас, НЕСКОЛЬКО.
Из всех дальнейших пиздоплясок нам по сути надо только это:
Детальнее - внятно на русском написано ТУТ. Хотя в целом - можно скипнуть. Прописать описания и аватарку прилепить можно интуитивно. Там еще что-то про команды, но ну его нахер. Туда я не полез и не планирую. Заняться мне нечем больше.
Итак, мы получили TG_BOT_TOKEN
п.2. Узнать ёбаный id бота... С какого хуя нам его не дают сразу - я не знаю.
Добавляем к себе в повозку
@Getmyid_bot
Практически сразу вы получаете этот сраный айдищшник.
Везде вводим линк бота, который начинается с @
Таким вот незамысловатым способом из говна и байтов мы получили botId
п.3. Узнать chat_id группы. Ндааа.... Ну, к этому моменту вы уже практические перестали плеваться и материть Дурова и иже с ними. Так что добавляем в телегу ОЧЕРЕДНОГО ботаблять:
@username_to_id_bot
Ну тут уже тупо пишем ему группу (https://t.me/fdmdhc) и всё без непоняток.
Я тут нихуя не блоггер и не популярный телеведущий, поэтому млять я постоянно путаюсь в этих группах, чатах и блять каналах. Я тащу на себе ебень с кучей топиков, и вроде это канал. Или группа. Но не чат. Блять.
Короче мы получили наконец-то ссука chat_id
И всё? А вот хуй и нет!!! Я блять не знаю КАК я до этого ссука допёр, но видимо мою голову всё-таки иногда посещают умные мысли. Пусть это визиты вежливости, но тем не менее. Просто так пихать этот ид в запрос можно до посинения. Такого чата не найдется. ПАТАМУУУУШТА....
Перед всей этой цифирью надо добавить -100 !!!! Вот ссука "ну надо"...
Я не ебу почему и зачем, но явно этого нигде не написано.
#Тактутпринято
То есть, если у вас получен chat_id: 666666
то обращаться к нему надо как к "-100666666" !!!!
Не, ну все же ясно как "е" в степени "пи". Только полный утупок не прорюхает.
Ща вы, конечно же скажете "УФФ, заебца, афтар пеши исчо" и собираетесь открыть кодильник, дабы ну понятно. А вот еще раз ХУЙ мимо. Всё это прокатывает, если блэт у вас ПУБЛИЧНАЯ группа. Если она приватная, то, внезапно @myBestChannelFuckenLink у неё не будет! И бот ... идёт лесом.
Длииииааа этаво... Запускаем браузерную телегу! Кстати, это самый простой способ, действительно. Можете погуглить "как получить chatId приватной группы".
Я охуел где-то секунд за 20.
https://web.telegram.org/
Сканим куаркод телегой с мобилы, лезем в свой приватный анал, пкм на любом мессадже и копируем сраный линк.
1 - это ид сраной приватной группы/анала (да, сюда тоже надо добавлять -100 в начале)
2 - это блядский message_thread_id
Кстати с обычной группой message_thread_id получается точно так же.
Итак. Мы получили chat_id и message_thread_id
п.4. Выкурить thread_id. А хуй там. См. выше.
п.5. Нахерачить в приложении простейший код из пары строчек.
Ну, тут уже халява и это даже неинтересно.
Из питона всё это в созданного бота, например, можно затолкать прям вот сейчас так:
import requests
requests.post('https://api.telegram.org/bot' + TG_BOT_TOKEN +'/sendMessage?chat_id=' + botId + '&text=' + текстовый_мессадж)
Если вам не повезло, и у вас js/ts, то пишем такое:
response = await fetch('https://api.telegram.org/bot' + TG_BOT_TOKEN
+ '/sendMessage?chat_id=' + botId
+ '&text=' + текстовый_мессадж, { method: 'POST' });
data = JSON.parse(await response.text());
if (data.ok) {
console.log('%c█ Tgbot.response OK', 'color: #00ff00; font-size: 12px;');
} else {
console.log('%c█ Tgbot.response ERROR:: ' + data.description, 'color: #ff8800; font-size: 12px;');
}
Ебал я в рот код на пикабе форматировать крайне неудобно. Ладно, идея ясна.
Этим можно срать в душу своего бота пока ему в конец не поплохеет код не начнет нормально работать.
После этого уже наконец-то можно всё это с чистой душой отправлять в свой паблик.
requests.post('https://api.telegram.org/bot' + TG_BOT_TOKEN
+ '/sendMessage?chat_id=' + chatId
+ '&message_thread_id=' + thread_id
+ '&text=' + текстовый_мессадж)
Если канал не анал и топиков там нет, то третья строчка вам не всралась не нужна.
При успешной отправке, в консоли видим примерно такое:
Если что-то пошло не так, читаем data.description. Там всё более менее внятно.
Ах да. В результате после всей это свистопляски, приложение обзираемого устройства отправляет во флуд-чат группы такое вот:
Статы по сегодняшнему дню: 21:20 - 23:59
■ ВСЁ!!!! Мы все прекрасны и охуительны и ваще!
Традиционно, пользуясь случаем, передаю лучи поноса о∙∙∙вшей п∙∙де @Catbug0