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] Code [B][ { "name": "ТУТ ТОЧЬ В ТОЧЬ НАЗВАНИЕ ТОВАРА НА Funpay", "message": "Тут сообщение, которое будет выдано после оплаты. Для переноса строки используйте символы \n. Пример: первая строка\nвторая строка" }, { "name": "ТУТ ТОЧЬ В ТОЧЬ НАЗВАНИЕ ТОВАРА НА Funpay", "message": "Тут другое сообщение, которое будет выдано после оплаты другого лота" } ][/B] Пример: Если у вас выдаются разные товары: [B][ { "name": "ТУТ ТОЧЬ В ТОЧЬ НАЗВАНИЕ ТОВАРА НА Funpay", "nodes": [ "Тут сообщение, которое будет выдано после первой оплаты. Для переноса строки используйте символы \n. Пример: первая строка\nвторая строка ", "Тут сообщение, которое будет выдано после второй оплаты данного лота." ] } ][/B] Code [B][ { "name": "ТУТ ТОЧЬ В ТОЧЬ НАЗВАНИЕ ТОВАРА НА Funpay", "nodes": [ "Тут сообщение, которое будет выдано после первой оплаты. Для переноса строки используйте символы \n. Пример: первая строка\nвторая строка ", "Тут сообщение, которое будет выдано после второй оплаты данного лота." ] } ][/B] Пример: Комбинации: [B][ { "name": "ТУТ ТОЧЬ В ТОЧЬ НАЗВАНИЕ ТОВАРА НА Funpay", "nodes": [ "Тут сообщение, которое будет выдано после первой оплаты. Для переноса строки используйте символы \n. Пример: первая строка\nвторая строка ", "Тут сообщение, которое будет выдано после второй оплаты данного лота.", ] }, { "name": "ТУТ ТОЧЬ В ТОЧЬ НАЗВАНИЕ ТОВАРА НА Funpay", "message": "Тут сообщение, которое будет выдано после оплаты. Для переноса строки используйте символы \n. Пример: первая строка\nвторая строка" } ][/B] Code [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": "Ответ на команду" } ] Code [ { "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, исходный код открыт, если ты сомневаешься насчёт безопасности либо проверяй код либо вообще не скачивай
LastEmpire, Настроил через Termux - ничего не работает. Окно с сервером не высвечивается и мне нечего настраивать.