Funpay Server - бесплатный бот для Funpay c открытым исходным кодом. Он имеет такие функции как: автовыдача, автоподнятие всех лотов, автоответ на сообщение или команду, автоответ на первое сообщение, а также вечный онлайн и частичное управление через telegram бота(через него также можно получать уведомления о поднятии лотов, работы автовыдачи и о новых сообщениях / заказах). В этой статье я расскажу вам как его установить и настроить! Установка Windows/Mac OS ( BAT ) 1. Заходим по данной ссылке: https://github.com/NightStrang6r/FunPayServer , нажимаем на кнопку "Code", потом на "Download ZIP" 2. После загрузки, разархивируем его в любое место 3. Скачиваем NodeJS v16.16 по ссылке: https://nodejs.org/en/blog/release/v16.16.0, выбираем свою операционную систему 4. Запустите файл Start.bat 5. Переходим к пункту Настройка Установка Linux Устанавливать можно как на системы с GUI, так и на системы без него. Все версии Ubuntu начиная с 16.04 подходят для установки. Данный вид установки предусматривает то, что вы будете запускать с source code. Установка бота: 1. После входа в систему пропишите команду sudo apt update -y && sudo apt upgrade -y 2. Скачайте curl с помощью команды sudo apt-get install curl nano unzip wget -y 2. Установите деб-пакет NodeJS при помощи команды curl -sL https://deb.nodesource.com/setup_16.x | sudo -E bash - 3. Установите NodeJS при помощи команды : sudo apt-get install nodejs -y 4. Устанавливаем бота командой sudo wget https://github.com/NightStrang6r/FunPayServer/archive/refs/heads/main.zip && unzip main.zip Включение бота: 1. Пропишите команду cd FunPayServer-main 2. Прописываем команду npm i -y, ждем загрузки. 3. После загрузки прописываем команду node . (да, с точкой) 4. Переходим к пункту "Настройка" Примечание: Чтобы настраивать бота вам необходимо знать базовые команды: ls - Просмотр содержимого в текущей папке, пропишите чтобы узнать какие директории вам доступны. cd - Перемещение в другую папку, например: cd FunPayServer-main или cd data/configs, чтобы вернутся в домашний котолог пропишите cd без параметра. nano - текстовый редактор, перед использованием его нужно установить командой. Пример использования: вам потребовалось изменить какой-то файл, допустим это будет конфиг настроек settings.txt, для этого переходим в папку с этим конфигом с помощью команды cd FunPayServer-main и открываем нужный файл командой nano settings.txt, после чего изменяем нужные вам параметры. Теперь конфиг нужно сохранить его нажав Ctrl + O и выйти из него с помощью хоткея Ctrl + X, поздравляю, вы великолепны! Установка Termux Скачать через F-Droid - на странице кнопка "Download APK" (рекомендуется) Скачать со страницы релизов Termux - нужен файл termux-app_v0.118.0+github-debug_universal.apk, либо более новой версии Установка бота: 1. Обновите пакеты, выполнив команду apt update -y && apt upgrade -y 2. Выполните команду pkg install nodejs-lts wget unzip nano -y 3. Выполните команду wget https://github.com/NightStrang6r/FunPayServer/archive/refs/heads/main.zip && unzip main.zip Включение бота: 1. Перейдите в папку проекта, выполнив команду cd FunPayServer-main 2. Выполните команду: npm i 3. Выполните команду: node . (не забудьте точку) 4. Установка завершена, переходите к пункту "Настройка" Примечание: В termux все файлы находятся внутри приложения, вы не найдёте их в проводнике. Чтобы настраивать бота вам необходимо знать базовые команды: ls - Просмотр содержимого в текущей папке, пропишите чтобы узнать какие директории вам доступны. cd - Перемещение в другую папку, например: cd FunPayServer-main или cd data/configs, чтобы вернутся в домашний котолог пропишите cd без параметра. nano - текстовый редактор, перед использованием его нужно установить командой. Пример использования: вам потребовалось изменить какой-то файл, допустим это будет конфиг настроек settings.txt, для этого переходим в папку с этим конфигом с помощью команды cd FunPayServer-main и открываем нужный файл командой nano settings.txt, после чего изменяем нужные вам параметры. Теперь конфиг нужно сохранить его нажав Ctrl + O и выйти из него с помощью хоткея Ctrl + X, поздравляю, вы великолепны! Установка FreeBSD Установка только на системы без GUI, установка исключительно через source code, через .exe файл установить невозможно. Все версии начиная с 13.1 поддерживаются. Установка на FreeBSD самая простая из всех систем. Минусы : Кириллица не поддерживается, для её отображения вам нужно будет скачивать дополнительные пакеты, в этом гайде их не будет. Без этих пакетов все кириллические символы будут переведены в знаки вопроса. Установка бота: 1. Установите NodeJS используя команду pkg install nodejs-lts -y 2. Установите npm используя команду pkg install npm-8.19.1 -y 3. Перезагрузитесь используя команду reboot Запуск бота (Аналогичный запуску на Linux) Включение бота: 1. Пропишите команду cd FunPayServer-main 2. Прописываем команду npm i, ждем загрузки. 3. После загрузки прописываем команду node . 4. Готово! Бот запущен! 5. Переходим к пукту "Настройка" Настройка 1. Запустите программу 2. Теперь в браузере Google Crome устанавливаем расширение EditThisCookie по ссылке: https://chrome.google.com/webstore/detail/editthiscookie/fngmhnnpilhplaeedifhccceomclgfbg 3. Входим в аккаунт Funpay, с которого осуществляются продажи, нажимаем на установленное расширение и в открывшейся панели открываем "golden_key", значение этой строки нам понадобится в следующем пункте 4. Копируем его значение. 4. Переключаемся на консоль с ботом и дожидаемся этого сообщения: 5. Вставляем golden_key из пункта 4, нажимаем enter 6. Заходим на сайт whatismybrowser.com, копируем user agent: 7. Переключаемся на консоль и вставляем user agent из прошлого пункта: 8. После выбираем стрелками на клавиатуре выбираем "Оставить по умолчанию" и нажимаем Enter 7. Поздравляю! Первоначальная настройка выполнена, приступим к подключению telegram бота! Создание бота Telegram 1. Заходим по ссылке https://t.me/BotFather 2. Отправляем боту команду /newbot 3. После отправляем любое имя боту, это имя которое будет отображаться в чате с ботом 4. Теперь придумываем юзернейм боту, он должен заканчиваться на bot или _bot , например NightBot Если вы получили следующее сообщение, значит юзернейм уже занят и вам необходимо придумать другой! 5. Ваш бот успешно создан! Получаем следующее сообщение: Копируем выделенный токен 6. Переходим в папку с ботом, ищем файл settings.txt и открываем его через блокнот (если файл у вас не открывается скачайте https://notepad-plus-plus.org/downloads/ и откройте через него) 7. Ищем пункт [Telegram] и заполняем настройки: enabled: 1 token: вставляем ваш токен из пункта 5 userName: вставляем юзернейм вашего телеграм аккаунта с котрого будете пользоваться ботом 8. Сохраняем файл, перезапускаем Funpay Server и радуемся! 9. Возвращаемся к пункту 5 и переходим по первой ссылке которую выдал BotFather У вас откроется окно с вашим ботом, нажимаем кнопку запустить Вуаля, бот готов! Telegram бот не будет работать если Funpay Server не запущен Настройка автовыдачи Способ 1 (лёгкий) 1. Проверьте, что в файле settings.txt включена настройка автовыдачи: autoDelivery: 1. 2. Заходим в диалог с ботом которого мы создали 3. нажимаем Редактировать автовыдачу 4. Нажимаем Добавить товар 5. Если вы хотите чтобы после оплаты лота выдавался всегда один и тот же товар нажимаем Инструкция Если же вы продаёте, к примеру аккаунты или любой другой товар который после каждой оплаты должен быть новый, нажимаем Аккаунты Инструкция 6. Переходим на Funpay и копируем название лота, потом отправляем боту 7. Пишем текст который будет выдан покупателю после оплаты этого лота и отпраляем боту 8. Готово! Товар добавлен, вы можете добавить другие товары или удалить их через telegram бота, в дальнейшем функций будет больше! Как изменить товар в автовыдаче я рассказал в разделе Способ 2. Аккаунты 6. Переходим на Funpay и копируем название лота, потом отправляем боту 7. Пишем текст который будет выдан покупателю после первой оплаты этого лота и отпраляем боту Пишем текст вторым сообщением который будет выдаваться после второй оплаты Пишем текст третьим сообщением который будет выдаваться после третьим оплаты и т.д. 8. Как только закончите заполнять товар нажмите назад 9. Готово! Товар добавлен, вы можете добавить другие товары или удалить их через telegram бота, в дальнейшем функций будет больше! Как изменить товар в автовыдаче я рассказал в разделе Способ 2. Способ 2 (тяжёлый) 1. Проверьте, что в файле settings.txt включена настройка автовыдачи: autoDelivery: 1 2. Переходим в папку data, configs открываем файл delivery.json. 3. Заполняем необходимыми товарами в формате JSON по примерам: Если у вас выдаётся один и тот же товар: [B][ { "name": "ТУТ ТОЧЬ В ТОЧЬ НАЗВАНИЕ ТОВАРА НА Funpay", "message": "Тут сообщение, которое будет выдано после оплаты. Для переноса строки используйте символы \n. Пример: первая строка\nвторая строка" }, { "name": "ТУТ ТОЧЬ В ТОЧЬ НАЗВАНИЕ ТОВАРА НА Funpay", "message": "Тут другое сообщение, которое будет выдано после оплаты другого лота" } ][/B] Код [B][ { "name": "ТУТ ТОЧЬ В ТОЧЬ НАЗВАНИЕ ТОВАРА НА Funpay", "message": "Тут сообщение, которое будет выдано после оплаты. Для переноса строки используйте символы \n. Пример: первая строка\nвторая строка" }, { "name": "ТУТ ТОЧЬ В ТОЧЬ НАЗВАНИЕ ТОВАРА НА Funpay", "message": "Тут другое сообщение, которое будет выдано после оплаты другого лота" } ][/B] Пример: Если у вас выдаются разные товары: [B][ { "name": "ТУТ ТОЧЬ В ТОЧЬ НАЗВАНИЕ ТОВАРА НА Funpay", "nodes": [ "Тут сообщение, которое будет выдано после первой оплаты. Для переноса строки используйте символы \n. Пример: первая строка\nвторая строка ", "Тут сообщение, которое будет выдано после второй оплаты данного лота." ] } ][/B] Код [B][ { "name": "ТУТ ТОЧЬ В ТОЧЬ НАЗВАНИЕ ТОВАРА НА Funpay", "nodes": [ "Тут сообщение, которое будет выдано после первой оплаты. Для переноса строки используйте символы \n. Пример: первая строка\nвторая строка ", "Тут сообщение, которое будет выдано после второй оплаты данного лота." ] } ][/B] Пример: Комбинации: [B][ { "name": "ТУТ ТОЧЬ В ТОЧЬ НАЗВАНИЕ ТОВАРА НА Funpay", "nodes": [ "Тут сообщение, которое будет выдано после первой оплаты. Для переноса строки используйте символы \n. Пример: первая строка\nвторая строка ", "Тут сообщение, которое будет выдано после второй оплаты данного лота.", ] }, { "name": "ТУТ ТОЧЬ В ТОЧЬ НАЗВАНИЕ ТОВАРА НА Funpay", "message": "Тут сообщение, которое будет выдано после оплаты. Для переноса строки используйте символы \n. Пример: первая строка\nвторая строка" } ][/B] Код [B][ { "name": "ТУТ ТОЧЬ В ТОЧЬ НАЗВАНИЕ ТОВАРА НА Funpay", "nodes": [ "Тут сообщение, которое будет выдано после первой оплаты. Для переноса строки используйте символы \n. Пример: первая строка\nвторая строка ", "Тут сообщение, которое будет выдано после второй оплаты данного лота.", ] }, { "name": "ТУТ ТОЧЬ В ТОЧЬ НАЗВАНИЕ ТОВАРА НА Funpay", "message": "Тут сообщение, которое будет выдано после оплаты. Для переноса строки используйте символы \n. Пример: первая строка\nвторая строка" } ][/B] Пример: Перезапускаем Funpay Server и радуемся! Для переноса строки используйте \n между строчками, ни в коем случае не используйте перенос строки в выдаваемом сообщении или названии лота! Если в выдаваемом сообщении или названии лота присутствуют двойные кавычки поставьте перед ними \ , иначе бот просто выдаст ошибку, пример: Логин: \"1234\" Пароль: \"1234\".Для проверки кода на правильность написания используйте сервис - https://jsonformatter.org/json-parser Проверка автовыдачи Для проверки работы автовыдачи зайдите в файл settings.txt, убедитесь что значение 1 стоит у следующих параметров: autoDelivery autoResponse autoDeliveryTestCommand Если вы изменили настройки перезапустите Funpay Server чтобы изменения вступили в силу! Далее найдите чат с заблокированным пользователем / другом / твинком или в любой другой чат куда не жалко будеть слить выдаваемый товар пропишите: !автовыдача "в кавычках точное название лота который хотите проверить" Когда закончите проверку обязательно установите значение 0 для autoDeliveryTestCommand и перезапустите бота, иначе любой хитрюга сможет украсть ваш товар на автовыдаче запросив его командой проверки. Примечание: Вы так же можете указать в названии лота лишь его часть, например ваш лот - "[Автовыдача] among us + 400 игр, xbox game pas" и вы хотите добавить этот же аккаунт в другие категории то вам не обязательно создавать отдельные товары в файле delivery.json, вы можете просто добавить товар с названием "xbox game pas" и бот будет выдавать его для всех лотов в которых есть эта ключевая фраза (xbox game pas)! Настройка автоответа 1. Проверьте, что в файле settings.txt включена настройка автоответа: autoResponse: 1 2. Переходим в папку data, configs открываем файл autoResponse.json. 3. Заполняем необходимыми ответами в формате JSON по примерам: [ { "command": "!тест", "response": "Тестовое сообщение" }, { "command": "!команда", "response": "Ответ на команду" } ] Код [ { "command": "!тест", "response": "Тестовое сообщение" }, { "command": "!команда", "response": "Ответ на команду" } ] После чего сохраняем файл и перезапускаем бота! Вы можете использовать как команды обычные слова, не обязательно добавлять восклицательный знак! Данные команды работают в чате на Funpay как если их напишет покупатель так если и продавец! Ответ на первое сообщение 1. Заходим в файл settings.txt ищем параметр greetingMessage: 0 2. меняем 0 на 1 тем самым включая настройку 3. Листаем чуть ниже, ищем параметр greetingMessageText: , после двоеточия (через пробел) записывайте ваш ответ на первое сообщение: Для переноса строки в сообщении используйте \n. Доступные переменные: {name} - имя покупателя. (переменная работает только в этой функции, в автовыдаче и т.д. работать не будет) 4. Сохраняем файл, перезапускаем программу. Ответ на первое сообщение готов! Учтите что он будет срабатывать с теми пользователями с которыми у вас была переписка (но уже не видна в списке чатов) до момента включения этой функции. Остальные настройки Уведомления в ТГ 1. Убедитесь что у вас создан и нормально функционирует телеграм бот, которого мы создали ранее 2. Заходим в файл settings.txt, листаем до пункта newMessageNotification 3. Включаем те уведомления котрые хотите получать: newMessageNotification: 1 (1 - уведомление о новых сообщениях включены, 0 - выключены) newOrderNotification: 1 (1 - уведомление о новых заказах включены, 0 - выключены) lotsRaiseNotification: 1 (1 - уведомление о поднятии лотов включены, 0 - выключены) deliveryNotification: 1 (1 - уведомление о срабатывании автовыдачи включены, 0 - выключены) 4. Сохраняем файл, перезапускаем программу. Готово! вечный онлайн 1. Заходим в файл settings.txt ищем параметр alwaysOnline: 1, 2. Значение 1 - вечный онлайн включён, значение 0 - вечный онлайн выключен. Если вы изменили настройки перезапустите Funpay Server чтобы изменения вступили в силу! По умолчанию включён 3. Вечный онлайн не будет работать если бот не запущен! автоподнятие лотов 1. Заходим в файл settings.txt ищем параметр lotsRaise: 1, 2. Значение 1 - автоподнятие лотов включено, значение 0 - автоподнятие лотов выключено. Если вы изменили настройки перезапустите Funpay Server чтобы изменения вступили в силу! По умолчанию включено 3. Автоподнятие лотов не будет работать если бот не запущен! авто восстановление лотов 1. Заходим в файл settings.txt ищем параметр goodsStateCheck: 1, 2. Значение 1 - авто восстановление лотов включено, значение 0 - авто восстановление лотов выключено. Если вы изменили настройки перезапустите Funpay Server чтобы изменения вступили в силу! По умолчанию включено 3. авто восстановление лотов не будет работать если бот не запущен! Функция подсчёта продаж / заработка Работает только на версиях до 0.5.0! Бот может подсчитать количество продаж и сумму заработанных средств с продаж. Для этого запустите файл FunPayServer.exe с параметром --countProfit, т.е. чтобы получилось FunPayServer.exe --countProfit. Запустить файл с параметром можно при помощи командной строки. Если вы использовали продвинутую установку, просто запустите файл CountTradeProfit.bat. Работа с ****** Бот поддерживает работу с http / https ****** с / без авторизации. Для включения работы через ****** пропишите в файле настроек settings.txt (пункт [Proxy]) настройку enabled: 1, а также данные хоста в поле host и порт в поле port. Если ваш ****** не требует авторизации, оставьте поля login и pass пустыми. Решение ошибок 1. Ошибка при получении данных аккаунта: TypeError: Cannot read properties of null (reading 'innerHTML') 2. Ошибка при загрузке файла "C:\Users\lemar\OneDrive\*********\FunPayServer-main/data/configs/delivery.json". Возможно файл имеет неверную кодировку (поддерживается UTF-8), либо неверный формат JSON: Ошибка при загрузке файла "C:\Users\lemar\OneDrive\*********\FunPayServer-main/data/configs/autoResponse.json". Возможно файл имеет неверную кодировку (поддерживается UTF-8), либо неверный формат JSON: Ошибка при загрузке файла настроек: SyntaxError: Unexpected string in JSON at position 185. Программа будет закрыта. 3. "node" не является внутренней или внешней командой, исполняемой программой или пакетным файлом. 4. Ошибка при запросе (нет доступа к интернету / Funpay): FetchError: request to https://Funpay.com/ failed, reason: getaddrinfo ENOTFOUND Funpay.com 5. Заморозка процесса (Windows) (Бот перестаёт работать через какое-то время, хотя запущен и ошибок не выдаёт) 6. "Название товара" нет в списке автовыдачи, пропускаю. Разработчик - NightStrang6r - https://github.com/NightStrang6r У вас возникла ошибка которой нет в последнем пункте при запуске бота или есть вопрос? В официальном Discord сервере разработчика саппорты помогут вам! - dsc.gg/Funpay А в telegram чате вы можете пообщаться с другими продавцами и разработчиком! - t.me/fplite Эта статья является обновлённой версией статьи от KoSmoSS, большое спасибо ему! - https://zelenka.guru/threads/4149637/ Если вы заметили какие-то ошибки или неточности в статье пожалуйста свяжитесь со мной! Статья актуальна для версии 0.5.3 На форуме и в ТГ не помогаю! Создавайте тикет в дискорд-сервере!
LastEmpire, Вот такая ошибка происходит,но там ещё много строк,просто не успеваю сфотать (там всё это пишется за 50мс примерно)
IPixeL, Моя тема - официальная инструкция к этому боту, самая актуальная и самая новая, которую буду обновлять. я и написал её потому что оригинальная инструкция не обновляется и имеет неточности.
LastEmpire, Ну если это так то ладно, просто куча однотипного контента кидают. Большое количество которого просто копируют и вставляют.
jake1362, если тип товара - аккаунты, то да, после того как заполненные товары будут распроданы они удаляться из автовыдачи.
LastEmpire, чо с авто выдачей как бы имя товара не писал всеровно не работает ( писал так: "тест" "тест, прочиее" "ссылка на товар") делаю через телеграм бота и даже пытался сам ( но когда делал сам не работало и выдавало ошибку) пишит что авто выдача работает и написано что все те три варинта которые я писал в тг бота работают. но не работают
jake1362, можешь зайти на дискорд сервер, создать тикет и описать проблему подробнее. (Ссылка в конце темы)
> [02.01.2023] [10:25:36]: Ошибка при загрузке файла "...". Возможно in JSON at position 266ровку (поддерживается UTF-8), либо неверный формат JSON: SyntaxError: Unexpected token > [02.01.2023] [10:25:37]: Ошибка при получении данных аккаунта: TypeError: Cannot read properties of null (reading 'innerHTML')
ZOQMEE, ошибка при загрузке файла - ошибка в синтаксисе или наполнении файла (чтобы такого не было надо добавлять автовыдачу через тг бота или проверять код на https://jsonformatter.org/json-parser) Ошибка при получении данных аккаунта - твой токен устарел, замени его на новый в файле settings.json Надеюсь что помог, с праздником!
Выдается только самый первый товар, сохраненный на автовыдачу, после установки бота, потом просто не сохраняется и не выдает После переустановки бота, лечится данная проблема, так же только на первый добавленный товар [02.01.2023] [17:58:27]: Товара "test4" нет в списке автовыдачи, пропускаю. [02.01.2023] [17:58:27]: Ошибка при получении товаров: TypeError: Cannot read properties of null (reading 'querySelectorAll')|
diabloel, в этом и суть выдачи аккаунтов/ключей/прочих уникальных товаров, выданный товар удаляется из файла если ты добавлял его как тип товара "аккаунт", чтобы товар не удалялся надо добавлять тип "инструкция"
как сделать чтобы бот обновлялся автоматически, а то доходит до определенного этапа и перестаёт что-либо делать
Ресторатор, процесс морозит сама винда, если у тебе установлена bat версия то попробуй exe, должно помочь
renameduser_66993, settings.json - самый нижний пункт watermark и меняешь название на своё, то что в скобках.
Ошибка: необработанное исключение... Программа будет закрыта. Error: 401: Unauthorized at Telegram.callApi (C:\Users\fat1w\OneDrive\*********\Funpay\node_modules\telegraf\lib\core\network\client.js:291:19) at processTicksAndRejections (node:internal/process/task_queues:96:5) at async TelegramBot.setupBot (file:///C:/Users/fat1w/OneDrive/*********/Funpay/src/telegram.js:24:24) at async TelegramBot.run (file:///C:/Users/fat1w/OneDrive/*********/fun
fantikssqqw, пересоздай телеграм бота и убедись что токен ты вставил правильно, если не поможет то переустанови бота
Что делать если я отсылаю боту годен кей, а он все так же пишет "Привет! Похоже, ты пишешь мне впервые. Пришли мне golden_key, который ты вводил при настройке бота, чтобы начать работу ."
Tonys, абсолютно любой подойдёт, у меня самого ruvds на 1гб RAM и 1 ядро на винде, он конечно не из самых дешевых
carapa44, вау, упаковщик Enigma Virtual Box теперь вирус.... Юзай через Bat файл (продвинутая установка), если не хочешь отключать антивирус
LastEmpire, на скринах показывает то, что Funpay:Server запустился удачно и есть что настраивать. А у меня после cd FunPayServer-main и дальше после того как прописываю node ничего не показывает. Что мне делать в такой ситуации? Сделано всё по инструкции как и надо. Установка происходит при помощи Termux'a.
LastEmpire, Настроил через Termux - ничего не работает. Окно с сервером не высвечивается и мне нечего настраивать.