{"id":15001723,"url":"https://github.com/raiksler/lora-the-dog","last_synced_at":"2026-03-16T10:07:18.683Z","repository":{"id":177922970,"uuid":"537091050","full_name":"Raiksler/Lora-the-dog","owner":"Raiksler","description":"Chat bot for VK","archived":false,"fork":false,"pushed_at":"2023-02-12T15:38:25.000Z","size":52,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-12T02:18:46.474Z","etag":null,"topics":["docker","postgresql","python","python3","vk","vk-api","vk-bot","vkontakte"],"latest_commit_sha":null,"homepage":"https://vk.com/lora_the_dog","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Raiksler.png","metadata":{"files":{"readme":"README.txt","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-09-15T15:29:58.000Z","updated_at":"2022-09-28T19:29:30.000Z","dependencies_parsed_at":null,"dependency_job_id":"be0f10e3-bf84-4984-83d5-1ce042dbc469","html_url":"https://github.com/Raiksler/Lora-the-dog","commit_stats":{"total_commits":16,"total_committers":2,"mean_commits":8.0,"dds":0.125,"last_synced_commit":"db94d75e6d00697c69bdecf390a42839b1cc43a9"},"previous_names":["raiksler/lora-the-dog"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Raiksler%2FLora-the-dog","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Raiksler%2FLora-the-dog/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Raiksler%2FLora-the-dog/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Raiksler%2FLora-the-dog/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Raiksler","download_url":"https://codeload.github.com/Raiksler/Lora-the-dog/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243141239,"owners_count":20242819,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docker","postgresql","python","python3","vk","vk-api","vk-bot","vkontakte"],"created_at":"2024-09-24T18:05:13.105Z","updated_at":"2025-12-24T10:39:10.219Z","avatar_url":"https://github.com/Raiksler.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\"Lora the dog\", чат бот для VK бесед, имитирующий поведение моего лабрадора =)\nБот разработан с использованием VK API, и предполагает наличие у вас соответствующего токена. \n\nCode by A. Goryachev\n______________________________________________________________________________________________\n\n\nТекущие возможности:\n\n1) Базовые ответы на запросы. Лора будет отвечать на приветствия и прощания. Для разговора с Лорой, в беседе к ней нужно обращаться через @. Лора понимает запросы в разной\nформулировке, например о ее настроении можно узнать множеством способов: 'Как ты?, 'Как твое настроение?' и т.д. При разработке не ставилась цель по прохождению теста Тьюринга, поэтому количество таких команд ограничено разумными пределами, но все-же, их число достаточно обширно, чтобы в диалоге с Лорой не пришлось выбирать слова.\n2) Настроение. В зависимости от настроения, реакция Лоры на те или иные команды меняется. Настроение Лоры меняется от некоторых действий. Узнать текущее настроение можно спросив у нее напрямую: \"Как дела?\", \"Как настроение?\" и т.д. Параметр настроения независим для разных чатов.\n3) Возможность влиять на настроение Лоры при помощи игр или угощений. Подробнее о командах взаимодействия можно узнать, спросив у Лоры о ее настроении при низком уровне настроения.\n4) Лора привязана к серверам open-meteo и может давать прогноз погоды на сегодня\\завтра при соответствующих запросах, например: 'Погода на завтра', 'Погода сегодня'. При достаточно высоком уровне настроения, Лора будет автоматически давать ежедневный утренний прогноз погоды в 8:00 по МСК.\n\nДобавить бота в беседу можно по ссылке:\nhttps://vk.com/lora_the_dog\n\nСамостоятельный хост бота:\n\n\tНеобходимо произвести следующие настройки паблика:\n1) В настройках API, включить функцию Long Poll и разрешить следующие типы событий: Входящие сообщения, исходящие сообщения. Бот тестировался на версии API 5.131.\n2) В настройках для бота, включить \"возможности ботов\" и разрешить добавлять сообщество в чаты.\n\n\tРазвертывание бота силами docker:\n\tДля начала, необходимо внести свой вк токен в переменную соответствующую переменную файла lora_the_dog/env.py. Образ бота может быть создан из корневой директории проекта, командой \u003cdocker compose build .\u003e. Будут созданы образы двух связанных контейнеров. В первом контейнере расположен бэкэнд бота, все зависимости установятся самостоятельно. Во втором контейнере будет поднята бд postgresSQL со всеми необходимыми настройками и таблицами. Бот автоматически запустится при поднятии контейнеров командой \u003cdocker compose up\u003e. С этого момента, можно добавлять бота в беседы из своего паблика.\n\n\tХост на обычной машине без контейнеризации:\n\tПри каждом запуске, бот будет запрашивать ваш токен. Для того, чтобы этого избежать, можно добавить его в соответствующую переменную окружения файла lora_the_dog/env.py, в этом случае, бот перестанет запрашивать токен при запуске и будет использовать заданный по умолчанию. Ключ можно сгенерировать в настройках паблика.\nДля хранения и оперирования данными чатов, бот использует базу данных PostgreSQL. Для корректной работы бота необходимо создать на локальной машине базу данных и пользователя со следующими параметрами: (user='postgres', password='pgadminpass', host='localhost', database='lora_the_dog'). Все взаимодействие с бд находится в классе Db_manager модуля main.py, вы можете самостоятельно настроить параметры пользователя и бд в дандер ините этого класса. Бд lora_the_dog содержит всего одну таблицу. Для ее создания используйте следующий SQL запрос: CREATE TABLE chats (id bigint PRIMARY KEY, mood bigint);                     \nПосле этого, можно запустить модуль main.py и добавить бота в любую беседу. (Естественно, не забыв установить зависимости через poetry).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fraiksler%2Flora-the-dog","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fraiksler%2Flora-the-dog","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fraiksler%2Flora-the-dog/lists"}