кота
Щас проверим живой или нет)
кота
ЖИВОЙ
Silly Vlad
я конечно опоздал, но улитки с маслецом и часнычочычком не дурно
Silly Vlad
опять же, всё нужно уметь готовить
Nikolai
>Серверы на базе российских процессоров «Эльбрус» протестировали в Сбере. Специалисты пришли к выводу, что их использование в компании на данный момент исключено. Ля, кем надо вообще быть, чтобы всерьез взять и притащить свои поделки не в какие-то фановые устройства, или в школы, а сука сразу в банк
Nikolai
Еще б партию кардиостимуляторов на эльбрусе выпустили и запретили ввозить иностранные
Nikolai
Эх, а вообще, конечно, хорошо быть айтишником в такой компании, занимаетесь какой-то ссаниной
Nikolai
Закупили полтонны говна и копаетесь в нем
Nikolai
Не твои, вот ты и бесишься.
Ну вот мне лет через 5 менять как раз, вот будет смеху то
Luсky
Так то я со сбера давно уже вывел свои таньга. Мутная конторка. Не удивлюсь, если скатятся до микрокредитов.
Nikolai
Меня альфа на днях огорчила. Хер с тем, что они дизайн карты испортили, была кайфовая черная карта на красном пластике внутри, так они взяли задник в белый перекрасили. Теперь в целом карта смотрится как клоун в разных башмаках
Luсky
А вообще, походу кто-то баблишка занёс в СМИ на обсёр Эльбрусов. На днях про бракованые чипы на сувениры говновость была. Сейчас этот высер. Завтра ещё что-нибудь выкакнут.
Luсky
Детектирую манипуляцию общественным мнением.
Nikolai
Но самая дичь произошла, когда я пришел ее получать. Мне сначала пытались кредитку оформить, я повторил, зачем пришел, яндекс карту забрать перевыпущенную. "А, так вам нужна кредитная яндекс карта?" В итоге после еще нескольких цыганских фокусов пошел за моей картой, пришел с двумя, мол, смотрите какая красивая, со всех сторон красная, держите, она ваша. И потом когда я уже собрался уходить "А чего вы свою кредитку то не забрали? Мне оставляете?"
Nikolai
Пришлось перед уходом проверить в личном кабинете, что он мне ее не оформил в самом деле
Nikolai
Да хер с ним, я 1 звезду поставил, сказал, что чел берега путает и хватит
Snusmumriken
Ну, то есть это не проблемы технологического процесса или косяки самих процов, а просто из-за их устаревшести на текущий момент. Сделают, поправят, заапгрейдят. Надеюсь.
Snusmumriken
кота
Народ типо такой: ууу наши бабки с налогов тратят?
кота
Они ваще с налогов или частники?
кота
круто что эльбрусы всё-таки делают
fgntfg
Luсky
Народ типо такой: ууу наши бабки с налогов тратят?
Ты недооцениваешь влияние на е*х. Их 60% населения.
Nikolai
Programmer memes
кота
Programmer memes
Как что-то плохое
Luсky
Ехи это...?
ебанутых.
sashikknox
Snusmumriken
Кароч, пилю бота который выявляет подозрительных личностей.
Snusmumriken
И оборачиваю каждую хуйнюшку в класс, чтобы можно было спокойно делать типа так
Snusmumriken
if message.text:find("ты хуй") then local user = message.from local avatars = user:getUserProfilePhotos() if avatars.photos[1] then local filename = "/стена позора/"..user.username..".jpeg" writefile(filename, avatars.photos[1]:download()) end message:deleteMessage() message.chat:banChatMember(user, "forever") end
Snusmumriken
Тем более что сервер телеги буквально возвращает составные объектики, и их смело можно тут же оборачивать.
Snusmumriken
Иногда рекурсивно, хы
0xSU
Неплохо) Я себе написал довольно простого бота, сначала он форматирует сообщение убирая все лишние символы, а после чекает на ключевые слова. И если в сообщении найдено >= 3 ключевых слов, дает мут юзеру.
0xSU
0xSU
За почти 90к сообщений, лоханулся только с двумя. Потому что некоторые пользователи писали в шутку типа "Мне 120 лет ищу пошлую скину в личку свой дряхлый член" 😹 На счет таких сообщений в голову пришло только завести БД и по кол-во "карме" определять злодеев))) Еще бы написать анти спам для всяких редисок, которые заходят в чат и начинают спамить гиф/стикерами.
0xSU
0xSU
0xSU
Кстати, можете еще сделать удаление сообщений по ID: 136817688 - это Channel. Типа чтобы не писали от имени каналов. А то бывают залетные, пишут от имени каналов с криптой или порно. А кто именно пишет непонятно.
Snusmumriken
Угу
Snusmumriken
Ну у меня затея для начала попроще. Все юзеры добавляющиеся в чаты помечаются как средне-подозрительные. Если самая ранняя аватарка сделана раньше чем месяц назад — подозрительность повышается. Если первое сообщение охрененно длинное, является картинкой, репостом или чем бы то ни было ещё, изобилует эмодзи (больше двух) — подозрительность повышается ещё сильнее. Самые подозрительные каждый час удаляются, вместе со всеми своими сообщениями из всех чатов в которых присутствует бот, и они отправляются в список спамботов, и если добавляются куда-то в известное место — сразу мгновенно оттуда удаляются. Ну и бот-команда "удалить этого чела + автоматом записать его в спамботы" для ручной обработки. Несколько разных текстовых сообщений без ссылок автоматом делают пользователя нормальным.
Igor
Библу сокетов TCPшных почти тем же макаром писал на FFI недавно, luasocket надоел, решил повыпендриваться)) Зато теперь есть удобная буферизация данных уже не на уровне луёвых строчек. У меня как-то так работают все приколы: local sock = mysock:new() if sock:connect("1.3.3.7", 666) then local len, ispartial repeat -- Читаем ответ от сервера, пока не встретим байт "\10" len, ipartial = sock:receiveuntil(10) until len == 0 or not ispartial or sock:isclosed() sock:readubuffer() - возвращает все полученные данные в виде Lua-строки и очищает буфер end
Snusmumriken
Кстати тоже хорошо
Snusmumriken
Ну у меня затея для начала попроще. Все юзеры добавляющиеся в чаты помечаются как средне-подозрительные. Если самая ранняя аватарка сделана раньше чем месяц назад — подозрительность повышается. Если первое сообщение охрененно длинное, является картинкой, репостом или чем бы то ни было ещё, изобилует эмодзи (больше двух) — подозрительность повышается ещё сильнее. Самые подозрительные каждый час удаляются, вместе со всеми своими сообщениями из всех чатов в которых присутствует бот, и они отправляются в список спамботов, и если добавляются куда-то в известное место — сразу мгновенно оттуда удаляются. Ну и бот-команда "удалить этого чела + автоматом записать его в спамботы" для ручной обработки. Несколько разных текстовых сообщений без ссылок автоматом делают пользователя нормальным.
Но сначала надо доделать саму либу телегобота. Хотя общий функционал на месте, всё равно желательно допилить до осязаемого конца. Во, ещё неплохо хранить все сообщения отдельного пользователя, и повышать подозрительность тех кто давно не пишет или, тем более, вообще ничего не писал ))
Igor
Когда до ума доведу, может на гитхаб выкину. Сейчас она переодически работает не так, как хотелось бы. Но уже в принципе умеет создавать и клиента и сервера, делать их неблокирующими и почти одинаково ведёт себя как под виндой, так и под линупсами.
Snusmumriken
Ооо, кроссплатформенный варик вообще топчик
Igor
Ооо, кроссплатформенный варик вообще топчик
Ага. Напрягает то, что линуксовые и виндовые сокеты прям очень по разному себя ведут, хотя набор функций по факту один и тот же, но переодически доходит до такого абсурда, что даже константы с одинаковыми названиями имеют абсолютно разные значения...
0xSU
Названия методов не взяты с потолка
О, как-то мимо меня этот метод прошел.
Snusmumriken
Меня пока напрягает то, что боты не могут читать предыдущие сообщения, хотел запилить сканер в чатис.
Snusmumriken
Как?
Snusmumriken
Единственный источник сообщений, насколько я вижу, это getUpdates, а оно реагирует только на новую фигню.
0xSU
Как?
ЮзерБотом грузи, а потом обычным делай что нужно
Snusmumriken
Я уже думал обойти это через pinMessage по номеру его в чате, а потом чтением его содержимого ))0
Igor
You cannot get the chat history of a channel using the bot API. However you can use the core API (tdlib e.t.c) to get the chat history. Alternatively you can try and scrape from the posts widget, but that is going to be too tedious.
Snusmumriken
Ну тогда чёрт с ним, будет запоминать свежих ребят только.
Igor
И правильно, нафиг они нужны, протухшие эти)))))
Snusmumriken
В целом как бы есть чит. Каждое сообщение в чате имеет порядковый message_id, и можно дёрнуть pinMessage по этому id, после чего получить инфу о чате, где будет содержимое pinned_message. Читать правда будет до-о-о-о-олго и по три запроса на одно ))
Igor
Уууух
Igor
Весело получается
Snusmumriken
Особенно если врубить уведомления всем в чате на каждый pin.
Snusmumriken
А ещё я научился качать файлы из телеги, вот.
Igor
Вот не нравится мне как эта штука выглядит. А передалть-то особо и никак не получится, учитывая то, что она должна одинаково работать в неблокирующем и блокирующем режиме.
Igor
:getaddr(bool) ещё тоже весёлая функция получилась из-за того, что некоторые функции сокетов (например та же accept) требуют, чтобы в качестве размера структуры sockaddr передавалось не число, а указатель на него. В итоге, если bool истина, то возвращается два указателя - структура адреса и указатель на инт с размерностью этой структуры. А если ложь, то возвращаются структура и само значение инта.
Snusmumriken
Ля )
Igor
Сам в шоке
Snusmumriken
А разделить на пару методов?
Snusmumriken
getAddr() getAddrSize() getAddrSizePtr()
Igor
Ну так уже слишком длинно получается))) Я просто хотел, чтобы в accept сишную уже сразу после выполнения одной функции приходило два значения.
Snusmumriken
О, а три значения возвращать? Совсем туплю уже
Snusmumriken
Структуру, длину и указатель на длину, блин
Igor
Тогда и количество аргументов будет не совпадать, если оставить всё, как я хотел бы. Уже FFI будет ругаться, что передано больше аргументов, нежели есть в определении.
Snusmumriken
Ну инициируешь заранее в паре мест local a, b, c = bla:getaddr() ffi.C.foobar(a, c)