Skip to content

QuasiStellar/Foodsharing-Bot

Repository files navigation

Foodsharing-Bot

В данном прототипе реализованы оповещение пользователя о релевантных постах и возможность публиковать свои объявления о передаче еды в едином формате.

Ссылка на бота: https://vk.com/foodsharing_bot

Стек решения: python, vk_api, mysql, geopy, spacy.

Данный проект состоит из двух программ:

  • Программа-интерфейс, реагирующая на сообщения пользователей
  • Программа-ретранслятор, отслеживающая новые посты и рассылающая оповещения о новых постах

Программа-ретранслятор в свою очередь использует два аккаунта - аккаунт бота (группа) и аккаунт отслеживания (пользователь). Аккаунт отслеживания автоматически подписывается на все активные фудшеринг-сообщества, и получает посты прямо из ленты, после чего находит для каждого поста его город, категорию пищи и адрес, и отсылает каждый пост тем, кому он релевантен.

В программе-интерфейсе пользователь указывает свои город, адрес и предпочтения, а также имеет возможность публиковать объявления о передаче еды прямо в боте, после чего они сразу рассылаются всем людям, живущим в том же городе, чьи предпочтения соответствуют категориям из объявления. Между адресом раздачи и местом жительства пользователя рассчитывается расстояние. Также реализована частичная защита от спама.

Файлы проекта:

  • main.py - точка входа для программы-интерфейса
  • notifications_main.py - точка входа для программы-ретранслятора
  • join_foodsharing_groups.py - автоматическая подписка на сообщества
  • newsfeed_posts.py - считывание ленты, функция fetch_new_posts(time_begin, time_end, *, vk)
  • cities.py - работа с городами, определение города по посту
  • censor.py - частичная защита от спама
  • extend_vk_method.py - расширение стандартного метода ВК, получающего лишь определённый кусок данных, до метода, считывающего все данные

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages