MrRick13

MrRick13

Пикабушник
145 рейтинг 0 подписчиков 11 подписок 2 поста 0 в горячем
Награды:
5 лет на Пикабу
17

История о том, как я писал Discord бота Пикабу

Пикабушата, всем привет!


Пишу первый раз, плюс это мой первый личный проектик, хочу поделиться с вами своими эмоциями, не рекламы ради, а в качестве простого рассказа)


Просьба не кидать в меня тапки за говнокод и грамматику, печенек вам ^_^


В начале была идея... нууу или как там у Marvel, ахаах) Да, всё началось с идеи.

Я всем сердцем люблю Discord, а ещё Пикабу.


И вот одним осенним вечером, я задумался: "Хммм, интересно, а как можно соединить между собой эти две прекрасные площадки? Как волшебной палочкой, по одной команде, получать смешнявочки с Пикабушки в Discord?"


Курение гугла привело меня к таким существам, как боты ;)

На тот момент, мои познания в программировании были на уровне: знаю, что такое типы данных, но не знаю, что с ними делать.


Выбор пал на Python и связанные с ним библиотеки, которые используются в моём боте, об этом далее.

Вот пример его работы для затравки:

История о том, как я писал Discord бота Пикабу Пикабу, Discord, Бот, Python, Программирование, Гифка, Длиннопост

Продолжим:


Первое, что я понял, так это то, что мне нужен API Пикабу, но не тут то было. К сожалению, сей прекрасный сайт этого не имеет и встал вопрос, как же я могу получать данные с сайта?


И тут я вспомнил, что такое парсинг. Выбрал для этого дела библиотеку Beautiful Soup, а так же библиотеку user_agents, чтобы генерировать заголовки для запросов на сайт.


Почитав документацию был выстрадан парсер, который формирует список из: id_поста, заголовок, ссылки на пост, рейтинг, ссылки на картинки в посте, ссылка на автора и ссылка на комменты. Выглядит это чудо неопытного падавана примерно так:

История о том, как я писал Discord бота Пикабу Пикабу, Discord, Бот, Python, Программирование, Гифка, Длиннопост

Далее моя логика подсказала, что хорошо бы это всё где-то хранить, для чего была создана функция записи всех собранных данных в файлик:

История о том, как я писал Discord бота Пикабу Пикабу, Discord, Бот, Python, Программирование, Гифка, Длиннопост

Итак, теперь у меня было два пакетика... эм, нет, это не то :)

На данном этапе я мог забирать данные с Пикабу и хранить их в файлике, отлично!

Теперь нужно соединить всё это дело с дискордом, в этом мне помогла библиотека discord.py.


Потратив некоторое время, родился бот, со след. содержимым:

История о том, как я писал Discord бота Пикабу Пикабу, Discord, Бот, Python, Программирование, Гифка, Длиннопост

Работает он по простейшей логике:


1. Открывается файл с данными от парсера.

2. Забирается первая строка, формируется сообщение для Discordа.

3. Сообщение отправляется по команде, строка из файлика убирается и так до конца файла, после чего вызывается парсер и данные обновляются.


На данный момент бот чувствует себя прекрасно, переехал на VPS и живёт 24\7.


Код доступен на GitHub: https://github.com/MrArtemSolovev/pika_meme_bot

Бот доступен по инвайту: https://discordapp.com/api/oauth2/authorize?client_id=637644...


Команда !pika в любой текстовый чат, на сервере Discord.


В скором времени он появится на top.gg :)

И нет, это вот всё не реклама, честно честно) я просто очень рад тому, что своими руками смог что-то сделать)

Я прекрасно понимаю, что я не топ разработчик, большая часть реализована коряво, но я вложил частичку себя, своих идей и попробовал создать что-то своё. В дальнейшем бот будет дорабатываться, забрасывать я его не буду.

Плюс мне бы хотелось понять, на сколько это законно по отношению к Пикабу?))) Можно ли как то узнать это у админов?)


Будет приятно почитать ваше мнение в комментах, а ещё приятнее будет, если вы начнёте его использовать, для меня это главный показатель того, что я на верном пути :3


Всем спасибо, за ваши минутки внимания!

Показать полностью 4
37

Попытка номер, раз!

Привет, ЛЗ!
Моё имя Артём, мне 22 и я программист. Приветствие на уровне клуба не анонимных алкоголиков))
Обитаю в городе Воронеж, работаю и учусь) Как тут принято, параметры:
Глаза: в зависимости от освещения либо голубые, либо серые
Волосы: русые
Борода: когда она присутствует, то она рыжая)
В/Р:  Рост - 178, Вес - 95
Достаточно эрудированная и романтичная натура, клубы и шабаши, это не про меня)
Увлекаюсь собиранием пазлов, чтением книг и прогулками.
Если кому-то важен знак зодиака, то я Дева, а следовательно ценю честность и достаточно педантичен в бытовых вопросах, но хорошо, что это не доходит до маразма)
Теперь немного о той, которую ищу)
Самое важно для меня это искренность и верность, готовность делать вещи вместе и сообща. К примеру, я полненький, было бы прекрасно видеть заинтересованность в человеке, пока другой преобразовывает себе) Вообщем-то родственную душу, чтобы бы банально приятно находится вместе)
Контакты: https://vk.com/temasolov
Пишите, не бойтесь) я не кусаюсь) Фотка прилагается)
P.S. Спасибо за внимание!

Попытка номер, раз! Воронеж, 18-25 лет, Мужчины-ЛЗ, Знакомства
Показать полностью 1
Отличная работа, все прочитано!