MrRick13

MrRick13

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

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

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


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


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


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

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


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


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

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


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

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

Продолжим:


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


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


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

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

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

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

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


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

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


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. Спасибо за внимание!

Попытка номер, раз!
Показать полностью 1
Отличная работа, все прочитано!

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества