Мгновенные уведомления о новых пони-артах! (а ещё ищу добрых людей, которые поделятся серваком для простенького бота)

+38
Sasha-Flyerв блоге IT Pony!8 августа 2018, 20:31
t.me/SashaFlyerBot — тык!
tabun.everypony.org/blog/computers/181335.html — недавно увидел этого бота, который по сути является поисковиком буры. Я решил сделать нечто похожее, только мой бот сразу отправляет самые новые арты в личку (с задержкой до 30 секунд). Данный бот может пригодиться, например, админам пабликов или просто тем, кто хочет узнавать сразу о новых пони-артах.



Как и с упомянутым ботом выше, в моего бота так-же нужно вводить самый обычный запрос по тегам, который вы бы вводили на саму Буру. То есть, если вы введете safe, ts, то бот будет сразу отправлять вам в личку новые арты, где есть Твайлайт Спаркл без порнухи. Ссылку он кидает вида //derpicdn.net/img/ДАТА/НОМЕР/large.РАСШИРЕНИЕ, то есть исходный размер файла. Если он слишком большой, то телеграм не будет кидать превьюшку, тогда нужно просто кликнуть на ссылку.
Команды для бота:
/start — приветствие
default — настроенный мною лично набор тегов. Сам набор под спойлером:
ДЛИННОТЕКСТartist:333456+OR+artist:3mangos+OR+artist:adlynh+OR+artist:agu-fungus+OR+artist:aisureimi+OR+artist:ajin+OR+artist:ajvl+OR+artist:akinagasai+OR+artist:ambris+OR+artist:amiechan+OR+artist:andypriceart+OR+artist:animeflux+OR+artist:anonipony+OR+artist:an-tonio+OR+artist:aponty+OR+artist:aposine+OR+artist:apricolor+OR+artist:apzzang+OR+artist:arareroll+OR+artist:arnachy+OR+artist:artsenravenbrave+OR+artist:aryanne+OR+artist:askamberfawn+OR+artist:askbubblelee+OR+artist:atane27+OR+artist:atryl+OR+artist:audrarius+OR+artist:auto+OR+artist:avante92+OR+artist:average-hanzo+OR+artist:baekgup+OR+artist:bakki+OR+artist:bakuhaku+OR+artist:bantha+OR+artist:bbmbbf+OR+artist:bluse+OR+artist:bocodamondo+OR+artist:bubblestormx+OR+artist:burgerkiss+OR+artist:burstfire+OR+artist:buryooooo+OR+artist:caboni32+OR+artist:caelacanthe+OR+artist:cainesart+OR+artist:captainpudgemuffin+OR+artist:carnifex+OR+artist:cheezayballz+OR+artist:cheshirecatsmile37+OR+artist:chibicmps+OR+artist:chingilin+OR+artist:chronicsoda+OR+artist:clouddg+OR+artist:cold-blooded-twilight+OR+artist:conrie+OR+artist:corelle-vairel+OR+artist:crimsonbugeye+OR+artist:cyancapsule+OR+artist:dahliabee+OR+artist:dakuroihoshi+OR+artist:danmakuman+OR+artist:dantewontdie+OR+artist:darkestmbongo+OR+artist:deareditor+OR+artist:deilan12+OR+artist:demdoodles+OR+artist:demonstrative offense+OR+artist:devo87+OR+artist:devs-iratvs+OR+artist:dimfann+OR+artist:dimwitdog+OR+artist:discorded-joker+OR+artist:d-lowell+OR+artist:don-ko+OR+artist:doxy+OR+artist:dracontiar+OR+artist:dragk+OR+artist:drake+OR+artist:drantyno+OR+artist:drbdnv+OR+artist:drsunnybun+OR+artist:dtcx97+OR+artist:duplicitousmachine+OR+artist:ecmajor+OR+artist:elzzombie+OR+artist:emlan+OR+artist:emperpep+OR+artist:eosphorite+OR+artist:ereb-tauramandil+OR+artist:ermaowu+OR+artist:erohd+OR+artist:erotibot+OR+artist:eve-ashgrove+OR+artist:evov1+OR+artist:fairdahlia+OR+artist:fajeh+OR+artist:fantazyme+OR+artist:fatelogic+OR+artist:fawks666+OR+artist:fenrox+OR+artist:figgot+OR+artist:fishy-pony+OR+artist:fluff-kevlar+OR+artist:fluffymaiden+OR+artist:fluttersin+OR+artist:foxinshadow+OR+artist:foxvanity+OR+artist:framboosi+OR+artist:frankaraya+OR+artist:freedomthai+OR+artist:freexee+OR+artist:fromamida+OR+artist:g-blue16+OR+artist:gear-zs+OR+artist:glacierclear+OR+artist:glacierclear edits+OR+artist:gracie_slick+OR+artist:gray-romano+OR+artist:greenfireartist+OR+artist:guinefurrie+OR+artist:han_hyui+OR+artist:hladilnik+OR+artist:hobbsmeerkat+OR+artist:hot headed clover+OR+artist:hunternif+OR+artist:hwd171+OR+artist:i am nude+OR+artist:inktwiststudio+OR+artist:jadenkaiba+OR+artist:janji009+OR+artist:jay156+OR+artist:jcosneverexisted+OR+artist:jessicaelwood+OR+artist:johndemarco+OR+artist:johndoe-art+OR+artist:johnjoseco+OR+artist:jonfawkes+OR+artist:joshng+OR+artist:jouwan-massuru+OR+artist:jovalic+OR+artist:kasaler+OR+artist:kei kun+OR+artist:kevinsano edits+OR+artist:kheltari+OR+artist:khit+OR+artist:kikaru-studios+OR+artist:kimikun4+OR+artist:king-kakapo+OR+artist:kira-minami+OR+artist:kloudmutt+OR+artist:koimii+OR+artist:koldangrey+OR+artist:kosukegawa+OR+artist:lamar_bone+OR+artist:lemoco+OR+artist:leyanor+OR+artist:light262+OR+artist:lightingsaber92+OR+artist:lizombie+OR+artist:lolopan+OR+artist:lovepuma69+OR+artist:loyproject+OR+artist:luckyxclover+OR+artist:lumineko+OR+artist:lvl+OR+artist:madhotaru+OR+artist:magnaluna+OR+artist:magnetariz+OR+artist:mailinya+OR+artist:maniacpaint+OR+artist:maren+OR+artist:marik azemus34+OR+artist:marimoaji+OR+artist:matimus91+OR+artist:metalfoxxx+OR+artist:mfmk+OR+artist:mgcusr+OR+artist:missnips+OR+artist:m@k+OR+artist:mleonheart+OR+artist:momori68+OR+artist:mrs1989+OR+artist:mrscurlystyles+OR+artist:mrw32+OR+artist:ms-seven0+OR+artist:multilazyazz23+OR+artist:murai shinobu+OR+artist:murasaki-to+OR+artist:mykegreywolf+OR+artist:mysticalpha+OR+artist:nalesia+OR+artist:nameless-fairy+OR+artist:navitol+OR+artist:nayaasebeleguii+OR+artist:nekojackun+OR+artist:neko-me+OR+artist:nekubi+OR+artist:neo-gra+OR+artist:nestkeeper+OR+artist:newbluud+OR+artist:nightmaremoons+OR+artist:nikorious+OR+artist:ninjaham+OR+artist:ninjapony+OR+artist:noodlefreak88+OR+artist:novaquinmat+OR+artist:nowhereman34+OR+artist:nxyde+OR+artist:oddends+OR+artist:olyagon33+OR+artist:omegaozone+OR+artist:oneeyedneko+OR+artist:onegathos+OR+artist:onomec+OR+artist:oppaihobby+OR+artist:oriform+OR+artist:ostuffles+OR+artist:otakuap+OR+artist:owlisun+OR+artist:pan+OR+artist:pasikon+OR+artist:pastelmistress+OR+artist:patch+OR+artist:phathusa+OR+artist:php1+OR+artist:php41+OR+artist:pia-sama+OR+artist:piripaints+OR+artist:pohwaran+OR+artist:poisindoodles+OR+artist:polarityplus+OR+artist:ponegranate+OR+artist:ponut_joe+OR+artist:ponypron+OR+artist:pornomagnum+OR+artist:powergene+OR+artist:pusspuss+OR+artist:quizia+OR+artist:qweeli+OR+artist:rabies t lagomorph+OR+artist:racoonsan+OR+artist:radiantrealm+OR+artist:rainbownspeedash+OR+artist:rainbowscreen+OR+artist:raindroppony+OR+artist:rain-gear+OR+artist:rainihorn+OR+artist:rapps+OR+artist:reiduran+OR+artist:revtilian+OR+artist:rileyav+OR+artist:rinnemi+OR+artist:riouku+OR+artist:rirouku+OR+artist:rockyhardwood+OR+artist:rodrigues404+OR+artist:romanrazor+OR+artist:ryou14+OR+artist:s1k bo1+OR+artist:sagasshi+OR+artist:sakimichan+OR+artist:satrathai+OR+artist:sazuko+OR+artist:scappo+OR+artist:schpog+OR+artist:scorpdk+OR+artist:seductivebunneh+OR+artist:seiroth+OR+artist:senseidezzy+OR+artist:seriousb+OR+artist:shepherd0821+OR+artist:shinn3+OR+artist:shinodage+OR+artist:shinta-girl+OR+artist:shokobun+OR+artist:shutterflyeqd+OR+artist:shydale+OR+artist:siberwar+OR+artist:sicmop+OR+artist:siden+OR+artist:silkandopium+OR+artist:silverfox057+OR+artist:skecchiart+OR+artist:sketchbits+OR+artist:skipsy+OR+artist:skoon+OR+artist:skygracer+OR+artist:skyline19+OR+artist:slackerburst+OR+artist:slugbox+OR+artist:snibako+OR+artist:sodiav+OR+artist:sokewa+OR+artist:somewhat redundant+OR+artist:soukitsubasa+OR+artist:sovushka+OR+artist:spankinglover+OR+artist:spittfireart+OR+artist:splashstarx+OR+artist:srtagiuu+OR+artist:ss2sonic+OR+artist:staggeredline+OR+artist:starykrow+OR+artist:stoic5+OR+artist:strangerdanger+OR+artist:sugarlesspaints+OR+artist:suirano+OR+artist:superkeen+OR+artist:susu+OR+artist:swain+OR+artist:swissleo+OR+artist:swordkirby+OR+artist:ta-na+OR+artist:tetugakuzonbi+OR+artist:thebatfang+OR+artist:thebridgebuilder+OR+artist:thebrokencog+OR+artist:the-butch-x+OR+artist:theflankbank+OR+artist:thefriendlyelephant+OR+artist:the-minuscule-task+OR+artist:theorangewolf+OR+artist:the-rasp-b+OR+artist:thesecrethospital+OR+artist:the-unicorn-lord+OR+artist:tiarawhy+OR+artist:tootsie-poppins+OR+artist:touchofsnow+OR+artist:trebuxet+OR+artist:tron-zix+OR+artist:tsvetka+OR+artist:twilite-sparkleplz+OR+artist:twistedscarlett60+OR+artist:uotapo+OR+artist:vanilla166+OR+artist:vasilbite+OR+artist:venauva+OR+artist:verminshy+OR+artist:verulence+OR+artist:victorshinigami+OR+artist:vincher+OR+artist:viwrastupr+OR+artist:whatsapokemon+OR+artist:whitmaverick+OR+artist:xanthor+OR+artist:xdtopsu01+OR+artist:xennos+OR+artist:yashasun+OR+artist:ya-ya-tan+OR+artist:yodibujo+OR+artist:yukomaussi+OR+artist:yuuto+OR+artist:zanclife+OR+artist:zantyarz+OR+artist:zelgi+OR+artist:ziemniax
Любое другое текстовое сообщение на данный момент бот воспринимает как запрос по тегам. Подробнее здесь trixiebooru.org/search/syntax
Разумеется, если вы хотите, чтобы он показывал не все арты, а только те, что набрали N рейтинга, то для этого есть score.gt:N но разумеется тогда бот будет оповещать о таких артах не сразу, а только тогда, когда они набрали N рейтинга, и при том условии, что этот арт был последним в списке, вот.
Известные проблемы на данный момент:
Если отвалится мой комп или бесплатный ВПН, то бот умрет, пока я не решу эту проблему. Как только он снова запустится, он начнет проверять самые последние арты по вашим тегам, но не более 11. То есть он никогда не заспамит вашу личку более чем 11-ми артами одновременно.
Собственно, для решения этой проблемы ищу людей, кто поделиться сервером, желательно за пределами РФ.
А еще ищу опытных программистов, которые научат меня делать вебхуки с Телеграма и Дерпибуры, и делать очереди для запаси в один файл.

53 комментария

Теперь даже у меня есть свой собственный бот)
А у кого его нет сейчас?
Sasha-Flyer
+1
У меня есть ультимативно костыльный бот, который дергает картинки из поиска яндекса.
f13proxima
0
А куда бомжебот подевался?
Sasha-Flyer
0
Да мне надоело чет херней страдать, тем паче что на работе мне периодически подкидывают подобного рода несложные, но прикольные задачки.
Но могу реанемировать just4fun.
f13proxima
0
А че за работа?
Sasha-Flyer
0
Пугромист же. Все как у людей.
f13proxima
0
И какие языки требуются?
Sasha-Flyer
0
В основном, java.
Впрочем, языки это не так важно, они все равно все плюс-минус одинаковые, если не брать в расчет всякие лиспы, перлы, тикли и прочие безумные штуки.
Если ты знаешь си, то, вероятно, разберешься и со всем остальным.
Куда важнее то к чему эти языки применяются. В моем случае это андроид сдк.
f13proxima
0
Ну вот если я знаю Питон, и больше ничего, то работу вообще не найти? На Питоне легко делать сайты, ботов…
Sasha-Flyer
0
Можешь погуглить какие-нибудь типичные вакансии по пыхтон-разработке.
Ну или вообще любые вакансии разработчика.
Нигде нет такой где бы требовалось просто «знание языка питон», там обязательно подробное (или не очень) описание того что они вообще делают, что от тебя хотят и что ты должен уметь помимо написания ботов которые постят картинки.
Но стажером куда-нибудь устроиться вполне реально. Платить, конечно, будут как в макдаке, но по крайней мере не придется стоять на кассе, и у тебя будут реальные перспективы в ближайшее время дорасти хотябы до средне-нищебродской зарплаты.
f13proxima
0
Платить, конечно, будут как в макдаке

Пусть так, пусть даже чуть меньше — не важно. Я уже больше года изучаю питон и продолжаю топтаться на месте, даже сервак поднять не могу(
Sasha-Flyer
0
Можешь личку проверить?
Sasha-Flyer
0
'513768351': ['Loli', 1793986]

Кто-то решил поискать на Дерпибуре того, чего там нет. А я даже забыл в своем боте обработать исключение, когда запрос нулевой. Дописал код и обновил бота, теперь бот должен предупреждать, что по такому запросу артов нет и не будет никогда…
п.с. пришлось вручную удалять из базы данных этот запрос…
Sasha-Flyer
0
Если отвалится мой комп или бесплатный ВПН, то бот умрет, пока я не решу эту проблему

Возьми vps'ку где-нибудь на арубе и залей туда. Не надо жрать кактус — это больно. По правде говоря, я довольствуюсь browsec.
kt315
0
Не реклама, но личный опыт
simplecloud.ru/
минимальный тариф — 150 рублей в месяц. Всего 150 рублей и имеешь собственный сервак с root
Пользуюсь много лет на самые разные проекты. Отваливалось раза 3-4 за все эти годы, из них два — по причине аварий магистрального кабеля.
NTFS
+1
А как вообще выглядит залитие своего кода на сервер? Мой код не прослушивает никакие порты, он тупо раз в 30 секунд чекает JSON файлик дерпибуры, и всё.
Sasha-Flyer
0
Мс поставь.
Просто, удобно, для тебя ©.
f13proxima
0
Проксим, ты говорила, что у тебя там какой-то серв есть…
Sasha-Flyer
0
Аруба, про которую чувачок выше говорил.
Нно итальянцы что-то там сломали, и он пока что у меня в отключке, я даже в клауд консоль зайти не могу.
Ых.
Есть еще непосредственно мой комп (он работает 24/7), нно ввиду того что я тот еще пердолик, он периодически перезагружается.
f13proxima
0
Ну и за скок можно будет запустить на твоем компе моего бота? Он вроде немного жрет.
Sasha-Flyer
0
За пять секунд. Кроме впнки, я хз что ты там сейчас используешь. Ну и модули для пыхтона скажи какие там.
f13proxima (ред.)
0
import telebot
import json
import requests
import threading
from time import sleep
telebot — нужно еще установить pyTelegramBotAPI
Sasha-Flyer
0
Ну. Давай бота своего, попробую его завтра (сегодня) поставить.
f13proxima
0
Скинул в личку ссылку. Ток напиши перед запуском. Я даже не знаю, какие могут быть последствия, если бот запустится в двух местах…
Sasha-Flyer
0
У каждой половинки будет свой набор данных, какому юзеру что соответствует (если только бот не обращается к удалённой базе данных для хранения тегов). Юзеры окажутся располовинчаты между агентами, ибо запросы в телеграме будет читать рандомная половинка бота, возможна, не та, которая имелась в виду. В итоге, вероятно, юзерам будет независимо приходить два разных набора оповещений по тегам, зарегистрированным на разных половинках. Но с точки зрения самих буры и телеграма оба агента равносильны, если они используют одни и те же апи-ключи.
Wolfram (ред.)
0
То есть бот будет каждую картинку отправлять дважды? И всё? никаких автобанов за использование АПИ ключа с двух разных айпи?
Sasha-Flyer
0
Я ещё не совсем понял, что бот сейчас делает, но по-моему не совсем так: некоторые картинки могут приходить дважды. Автобан в такой ситуации может быть разве что за слишком частые запросы, но если там разумная частота стоит, то её удвоение ничего не сделает.
Wolfram
0
Гугли sftp, например.
Wolfram (ред.)
0
Так я не понял, там дата-центры только в спб и мск? не, так дело не пойдет. Впн постоянно отваливаться будет же.
Sasha-Flyer
0
Хм, 80 гигов за тыщу рублей это интересно
andreymal
0
Сервера в Рашке, Карл!
Sasha-Flyer
0
Так-то мой тоже в рашке, но дерпибура на нём почему-то открывается (я всё жду, когда перестанет открываться, но всё никак не перестаёт)
andreymal
0
а че за серв? А телега там открывается?
Sasha-Flyer
0
А вот телега когда-то работала с перебоями, но прямо сейчас вроде норм
www.ihor.ru/vds (минималка 100 рублей, кстати)
andreymal
0
Там винды нет за 100 рублей.
Sasha-Flyer
0
Ну а винду меньше чем за полторы тыщи рублей ты нигде не получишь)
andreymal
0
Ну и как мне тогда заливать свой говнокод, который я наговнокодил в винде?
Sasha-Flyer
0
Страдать с линуксом)
andreymal
0

Это типа с виндовсом? На 1 день 8 рублей чисто чтобы потестить — вроде норм… Но опять же — как выглядит заливание кода на виндовс сервер? Я хочу в этом разобраться до оплаты, а не после…
Sasha-Flyer
0
Лицензия на винду оплачивается отдельно и вся сразу
andreymal
0
ШТА?..
Sasha-Flyer
0
«Шта? Винду надо покупать?!»
andreymal
0
Неужели они не могут там пиратку скачать?
Sasha-Flyer
0
На пиратство глаза закрывают только до тех пор, пока ты на этом не зарабатываешь деньги.

А вообще, поизучай линукс, оно полезно для общего развития.
std282 (ред.)
0
П Ы Х Т О Н
Ы
Х
Т
О
Н
f13proxima
0
Заливать можно с помощью Putty, но администрировать клиент всё равно придётся через линукс-терминал. А, ну есть ещё какая-то фигня типа Remote Desktop
Wolfram (ред.)
0
Чёт я не понял, почему бы не администрировать через тот же Putty?
andreymal
0
Ну хз, не пользовался никогда. Если сервак на линуксе, то всё равно чё-т наверное знать надо, чтобы устанавливать туда всякие ништяки, а винда дополнительно обойдётся.
Wolfram
0
Добавил команду /delete которая удаляет ваши текущие теги.
Sasha-Flyer
0
SashaFlyerBot

HypnoticMist
+1
Не волнуйся, он не будет автоматически ныть)
Sasha-Flyer
+1
Пожалуй, выключу пока бота на часов 8. Стремно мой говно-компьютер оставлять включенным, пока буду спать…
Sasha-Flyer
0
[b'{«ok»:false,«error_code»:403,«description»:«Forbidden: bot was blocked by the user»}']

Эх, кто-то добавил моего бота в игнор( А ведь можно было просто сделать /delete…
Sasha-Flyer
0
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.