{"id":17132268,"url":"https://github.com/tabmk/minecraft-vk-bot","last_synced_at":"2026-05-17T02:46:11.523Z","repository":{"id":126156941,"uuid":"367522498","full_name":"TABmk/minecraft-vk-bot","owner":"TABmk","description":"Бот для получения наград за подписку на группу ВК","archived":false,"fork":false,"pushed_at":"2021-06-02T11:50:56.000Z","size":472,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-19T02:58:34.363Z","etag":null,"topics":["bot","minecraft","vk","vkontakte"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/TABmk.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2021-05-15T02:24:15.000Z","updated_at":"2022-01-16T20:18:17.000Z","dependencies_parsed_at":null,"dependency_job_id":"32f7d133-cfc2-4252-bab9-6fb4c883319f","html_url":"https://github.com/TABmk/minecraft-vk-bot","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/TABmk/minecraft-vk-bot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TABmk%2Fminecraft-vk-bot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TABmk%2Fminecraft-vk-bot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TABmk%2Fminecraft-vk-bot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TABmk%2Fminecraft-vk-bot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TABmk","download_url":"https://codeload.github.com/TABmk/minecraft-vk-bot/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TABmk%2Fminecraft-vk-bot/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33125745,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-16T18:38:32.183Z","status":"online","status_checked_at":"2026-05-17T02:00:05.366Z","response_time":107,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["bot","minecraft","vk","vkontakte"],"created_at":"2024-10-14T19:26:33.013Z","updated_at":"2026-05-17T02:46:11.503Z","avatar_url":"https://github.com/TABmk.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"[ENG] Since the project aimed at work with CIS countries social network, description is on Russian\n\n---\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"img/logohead.png\" /\u003e\n  \u003ch1 style=\"text-align: center\"\u003eminecraft-vk-bot\u003c/h1\u003e\n\u003c/p\u003e\n\n###### Бот для получения наград за подписку на группу ВКонтакте\n\n###### Особенности:\n- Проверка на подписку\n- Разные виды наград (сообщение, выполнение команды на сервере, записывание данных в базу)\n- Работа с Rcon и MySQL\n- Гибкий конфиг. _Даже SQL запросы можно настроить сразу в нем._\n- Проверка существования пользователя по нику\n- Один пользователь ВК может выдать подарок только на один ник\n- Один игрок на сервере может получить подарок только один раз\n- Автоподключение к Rcon\n- Полная настройка команды через конфиг\n- Код с комментариями\n- Полное описание конфига\n\n_Помощь и вопросы в [Issues](https://github.com/TABmk/minecraft-vk-bot/issues) или ко мне в тг [@TAB_mk](http://t.me/tab_mk)_\n\n---\n## Требования\n- [Node.JS](https://nodejs.org/en/) (Рекомендуемая версия 12 и выше)\n- NPM или [Yarn](https://yarnpkg.com/getting-started/install) для установки зависимостей\n- [AuthMeReloaded](https://www.spigotmc.org/resources/6269/) на сервере, если вы хотите ничего не менять в коде (нужен для проверки пользователей и записи ID)\n- База AuthMeReloaded в MySQL\n- Включенный Rcon на сервере, если нужно выдавать награду командой\n- Токен группы ВК с доступом к сообщениям (Управление \u003e Работа с API \u003e Создать ключ)\n- Если вы используете AuthMeReloaded, как и задумано, то нужно создать столбец для vkID в таблице authme:\n  - `USE authme;`\n  - `ALTER TABLE authme ADD vkid INT NULL;`\n---\n## Скачивание\n[[Скачать](https://github.com/TABmk/minecraft-vk-bot/archive/refs/heads/master.zip)] архив с проектом\n\nили\n\n```\ngit clone https://github.com/TABmk/minecraft-vk-bot.git\n```\n## Установка\n```\nnpm i\n   или\nyarn install\n```\n## Запуск\n```\nnpm run start\n   или\nyarn start\n```\n---\n## Принцип работы\n - Пользователь пишет команду, в которой указывает свой ник.\n - Запрашивается ник в таблице authme.\n - Проверяет, не ли пользователь уже подарок. Проверяя поле vkid на наличие ID этого человека. Если он уже выдал кому-то подарок, то пишет ошибку `config -\u003e messages.vkuser_already_rewarded`\n - Если нет выдавал, то теперь проверяет по нику. Получал ли игрок уже подарок. Если да, то ошибка `config -\u003e messages.player_already_rewarded`\n - Если не получал, то проверяется, есть ли вообще такой игрок в базе. Нет -- ошибка `config -\u003e messages.player_check_fail`\n - Если есть, то выводит сообщение о подарке `config -\u003e messages.success`\n - И запускает выдачу подарка. Тип выдачи указывается в `config -\u003e reward_type`\n---\n## FAQ\n\n#### ❓ Как запретить спам командой\n\nИз коробки спам не отлавливается. Для реализации функции можно использовать:\n- [RabbitMQ](https://www.rabbitmq.com)\n- [Мою реализацию](https://github.com/TABmk/queue-antispam-for-bots) in-memory очередей для ботов\n- Просто сохранять в кэше массивом/Set\\`ом и проверять кол-во сообщений\n\n#### ❓ Используется не AuthMeReloaded, что делать\n\nПосмотрите как у вашего плагина записывается в базу данные и подправьте SQL запросы в конфиге под них. И не забудьте создать столбец для сохранений vkid\n\n#### ❓ Как запустить на постояне\n\n- Собрать в докер-контейнер\n- [PM2](https://pm2.keymetrics.io) (самое простое решение)\n- screen (для линуксов)\n\n#### ❓ Есть идея для новой фичи\n\nОткрывай [issue](https://github.com/TABmk/minecraft-vk-bot/issues)\n\n---\n\n## Проверка подписки\n\nПо умолчанию эта функция отключена, так как из первого пункта [правил для ботов](https://vk.com/dev/bot_rules) следует, что бот не может просить подписку как обязательное требование. Вы можете откоментировать код на строчках [100-109](https://github.com/TABmk/minecraft-vk-bot/blob/master/index.js#L101) и использовать это на свой страх и риск.\n\n---\n\n## Переменные\n\nВ некоторых сообщениях и конфигах можно использовать переменные, которые автоматически заменятся на значения в коде.\n\n|Переменная|Описание|\n|---|---|\n|%nickname%|Вставляет ник, который пользователь написал|\n|%nickname_lower%|Ник, но в нижнем регистре|\n|%vkid%|ID пользователя ВК|\n\n---\n## Конфиг\n#### modules\n- ###### mysql\n  Параметры подключения к mysql базе с помощью клиента [mysql-await](mysql-await)\n   - **host** - ip mysql сервера\n   - **user** - пользователь\n   - **password** - пароль\n   - **database** - база (для AuthMeReloaded - authme)\n- ###### rcon\n  Данные от Rcon вашего сервера для rcon клиента [rcon-client](https://www.npmjs.com/package/rcon-client)\n  - **host** - ip сервера\n  - **port** - порт сервера\n  - **password** - пароль от rcon\n- ###### vk\n  Данные для модуля [easyvk](https://www.npmjs.com/package/easyvk)\n  - **token** - токен вашего сообщества с правами доступа к сообщениям `(Управление \u003e Работа с API \u003e Создать ключ)`\n\n#### reward_type\nЗадает способ выдачи награды игроку.\nВсе типа поддерживают [переменные](#переменные)\n###### Доступные значения\n|Тип|Описание|Конфиг|\n|---|---|---|\n|`msg`|Просто отправляет сообщение. Можно использовать для выдачи промокодов, например|`messages.reward`|\n|`rcon`|Позволяет выполнить команду на сервере. Для выдачи прав или валюты, например|`rcon.reward`|\n|`sql`|Позволяет выполнить SQL запрос к базе|`sql.reward`|\n\n#### command\n- **RegExp** - регулярное выражение для команды. Если нужно чтобы команда была в точности такой, то нужно добавить `^` в начале и `$` в конце. `(.*)` обозначает место, где должен стоять ник.\n- **RegExp_flags** - устанавливает [флаги](https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/RegExp#parameters). Если не знаешь что это, просто оставь `i`\n\n#### rcon\n- **reward** - команда для награды. Поддерживает [переменные](#переменные)\n- **reconnect_time** - время между попытками переподключиться к rcon, если он не отвечает. Время в мс (1000 мс = 1 секунда)\n\n#### sql\n  Все запросы поддерживают [переменные](#переменные)\n- **check_user** - проверка игрока в базе\n- **check_vkid** - проверка вк пользователя в базе\n- **save_vkid** - сохраненик id вк в базе\n- **reward** - запрос для награды\n\n#### messages\n  Все сообщения поддерживают [переменные](#переменные)\n- **reward** - сообщение с наградой\n- **success** - сообщение о получении награды\n- **player_check_fail** - игрок не найден\n- **vkuser_already_rewarded** - пользователь вк уже получал награду\n- **player_already_rewarded** - игрок уже получал награду\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftabmk%2Fminecraft-vk-bot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftabmk%2Fminecraft-vk-bot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftabmk%2Fminecraft-vk-bot/lists"}