June 22, 2023

Автовыдача на FunPay | Настройка бота FunPay Server

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 -y2. Скачайте curl с помощью команды sudo apt-get install curl nano unzip wget -y2. Установите деб-пакет NodeJS при помощи команды curl -sL https://deb.nodesource.com/setup_16.x | sudo -E bash -3. Установите NodeJS при помощи команды : sudo apt-get install nodejs -y4. Устанавливаем бота командой sudo wget https://github.com/NightStrang6r/FunPayServer/archive/refs/heads/main.zip && unzip main.zip

Включение бота:1. Пропишите команду cd FunPayServer-main2. Прописываем команду 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 -y2. Выполните команду pkg install nodejs-lts wget unzip nano -y3. Выполните команду wget https://github.com/NightStrang6r/FunPayServer/archive/refs/heads/main.zip && unzip main.zip

Включение бота:
1. Перейдите в папку проекта, выполнив команду cd FunPayServer-main2. Выполните команду: npm i3. Выполните команду: 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 -y2. Установите npm используя команду pkg install npm-8.19.1 -y3. Перезагрузитесь используя команду 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/fngmhnnpilhplaeedifhccceomclgfbg3. Входим в аккаунт 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. Отправляем боту команду /newbot3. После отправляем любое имя боту, это имя которое будет отображаться в чате с ботом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: 12. Переходим в папку data, configs открываем файл delivery.json.3. Заполняем необходимыми товарами в формате JSON по примерам:
Если у вас выдаётся один и тот же товар: Код:

[B][
    {
        "name": "ТУТ ТОЧЬ В ТОЧЬ НАЗВАНИЕ ТОВАРА НА FUNPAY",
        "message": "Тут сообщение, которое будет выдано после оплаты. Для переноса строки используйте символы \n. Пример: первая строка\nвторая строка"
    },
    {
        "name": "ТУТ ТОЧЬ В ТОЧЬ НАЗВАНИЕ ТОВАРА НА FUNPAY",
        "message": "Тут другое сообщение, которое будет выдано после оплаты другого лота"
    }
][/B]

Пример:

Если у вас выдаются разные товары:

Код:

[B][
    {
        "name": "ТУТ ТОЧЬ В ТОЧЬ НАЗВАНИЕ ТОВАРА НА FUNPAY",
        "nodes": [
            "Тут сообщение, которое будет выдано после первой оплаты. Для переноса строки используйте символы \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 стоит у следующих параметров:autoDeliveryautoResponse
autoDeliveryTestCommand
Если вы изменили настройки перезапустите FunPay Server чтобы изменения вступили в силу!Далее найдите чат с заблокированным пользователем / другом / твинком или в любой другой чат куда не жалко будеть слить выдаваемый товарпропишите: !автовыдача "в кавычках точное название лота который хотите проверить"Когда закончите проверку обязательно установите значение 0 для autoDeliveryTestCommand и перезапустите бота, иначе любой хитрюга сможет украсть ваш товар на автовыдаче запросив его командой проверки.

Примечание:
Вы так же можете указать в названии лота лишь его часть, например ваш лот - "[Автовыдача] among us + 400 игр, xbox game pas" и вы хотите добавить этот же аккаунт в другие категории то вам не обязательно создавать отдельные товары в файле delivery.json, вы можете просто добавить товар с названием "xbox game pas" и бот будет выдавать его для всех лотов в которых есть эта ключевая фраза (xbox game pas)!

Настройка автоответа

1. Проверьте, что в файле settings.txt включена настройка автоответа: autoResponse: 12. Переходим в папку data, configs открываем файл autoResponse.json.3. Заполняем необходимыми ответами в формате JSON по примерам:
Код:

[
    {
        "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')

Решение 1: ваш golden key устарел, вам нужно заменить его на новый в файле settings.txt
Решение 2: у вас проблемы с подключением к интернету или с доступом к FunPay, вы можете: просто подождать / проверить интернет / поставить DNS сервера на 1.1.1.1 и 8.8.8.8

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. Программа будет закрыта.

Решение 1: смените кодировку файла который указан в ошибке на UTF-8
Решение 2: ваш файл заполнен с ошибкой, вы можете: вручную найти ошибку в файле (возможно не хватает запятой или скобки) / отправить содержимое файла на jsonformatter.org чтобы найти и исправить ошибку / если у вас проблема с файлом autoIssue.json вы можете воспользоваться телеграм-ботом для редактирования автовыдачи без ошибок

3. "node" не является внутренней или внешней

командой, исполняемой программой или пакетным файлом.

Решение: установите NodeJS

4. Ошибка при запросе (нет доступа к интернету / funpay): FetchError: request to https://funpay.com/ failed, reason: getaddrinfo ENOTFOUND funpay.com

Решение: у вас проблемы с подключением к интернету или с доступом к FunPay, вы можете: просто подождать / проверить интернет / поставитьDNS сервера на 1.1.1.1 и 8.8.8.8

5. Заморозка процесса (Windows)

(Бот перестаёт работать через какое-то время, хотя запущен и ошибок не выдаёт)

Решение:1. ПКМ по окну консоли -> свойства2. Переходим в Настройки3. Снимаем галочку "Выделение мышью"4. Нажимаем "Ок".

6. "Название товара" нет в списке автовыдачи, пропускаю.

Решение:1. зайдите на funpay и скопируйте название вашего лота.2. Перейдите в конфиг автовыдачи (delivery.json) и замените название лота на то которые вы скопировали.

Примечание:Телеграм бот некорректно добавляет товары с некоторыми эмоджи, поэтому всегда надёжнее добавить товар вручную.