<img src="https://i.ibb.co/tJKk0QS/Fun-Pay-API-darkmode.png">
<h1 align="center">FunPay API</h1>
<h4 align="center">Библиотека для легкого написания ботов FunPay. (Исправленная версия)</h4>
<h1 align="center">Важные ссылки</h1>
<h4 align="center">
<a href="https://discord.gg/HNhrWJKz3T">Discord Сервер</a><br>
<a href="https://pypi.org/project/FunPayPy/">PyPi</a><br>
</h4>
<h1 align="center">Быстрый старт</h1>
<h4 align="center">Пример простого бота, который будет отвечать на сообщение с текстом «привет».</h4>
```python
from FunPayAPI import Account, Runner, types, enums
TOKEN = "<golden_key>"
# Создаем класс аккаунта и сразу же получаем данные аккаунта.
acc = Account(TOKEN).get()
# Создаем класс "прослушивателя" событий.
runner = Runner(acc)
# "Слушаем" события
for event in runner.listen(requests_delay=4):
# Если событие - новое сообщение
if event.type is enums.EventTypes.NEW_MESSAGE:
# Если текст сообщения == "привет" и оно отправлено не нами
if event.message.text.lower() == "привет" and event.message.author_id != acc.id:
acc.send_message(event.message.chat_id, "Ну привет...") # отправляем ответное сообщение
```
<h4 align="center">Пример простого бота, который выдает товар при новом заказе, если в названии заказа есть слово «аккаунт».</h4>
```python
from FunPayAPI import Account, Runner, types, enums
TOKEN = "<golden_key>"
# Создаем класс аккаунта и сразу же получаем данные аккаунта.
acc = Account(TOKEN).get()
# Создаем класс "прослушивателя" событий.
runner = Runner(acc)
# "Слушаем" события
for event in runner.listen(requests_delay=4):
# Если событие - новый заказ
if event.type is enums.EventTypes.NEW_ORDER:
# Если "аккаунт" есть в названии заказа
if "аккаунт" in event.order.description:
chat = acc.get_chat_by_name(event.order.buyer_username, True) # получаем ID чата по никнейму
acc.send_message(chat.id, f"Привет, {event.order.buyer_username}!\n"
f"Вот твой аккаунт:\n"
f"Почта: mail@somemail.ru\n"
f"Пароль: somepassword!123") # отправляем ответное сообщение
```
Raw data
{
"_id": null,
"home_page": "https://discord.gg/HNhrWJKz3T",
"name": "FunPayPython",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": "funpay bot api tools",
"author": "ArttekPublic",
"author_email": "arttekpublic@mail.ru",
"download_url": "https://files.pythonhosted.org/packages/7f/89/62a28e8748962adaee54fda25b81fef945dcb2387c5f0b0d8e904ab32735/FunPayPython-1.1.1.tar.gz",
"platform": null,
"description": "<img src=\"https://i.ibb.co/tJKk0QS/Fun-Pay-API-darkmode.png\">\r\n<h1 align=\"center\">FunPay API</h1>\r\n<h4 align=\"center\">\u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 \u0434\u043b\u044f \u043b\u0435\u0433\u043a\u043e\u0433\u043e \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u0431\u043e\u0442\u043e\u0432 FunPay. (\u0418\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043d\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f)</h4>\r\n\r\n<h1 align=\"center\">\u0412\u0430\u0436\u043d\u044b\u0435 \u0441\u0441\u044b\u043b\u043a\u0438</h1>\r\n<h4 align=\"center\">\r\n <a href=\"https://discord.gg/HNhrWJKz3T\">Discord \u0421\u0435\u0440\u0432\u0435\u0440</a><br>\r\n <a href=\"https://pypi.org/project/FunPayPy/\">PyPi</a><br>\r\n</h4>\r\n\r\n<h1 align=\"center\">\u0411\u044b\u0441\u0442\u0440\u044b\u0439 \u0441\u0442\u0430\u0440\u0442</h1>\r\n<h4 align=\"center\">\u041f\u0440\u0438\u043c\u0435\u0440 \u043f\u0440\u043e\u0441\u0442\u043e\u0433\u043e \u0431\u043e\u0442\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0431\u0443\u0434\u0435\u0442 \u043e\u0442\u0432\u0435\u0447\u0430\u0442\u044c \u043d\u0430 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u0441 \u0442\u0435\u043a\u0441\u0442\u043e\u043c \u00ab\u043f\u0440\u0438\u0432\u0435\u0442\u00bb.</h4>\r\n\r\n```python\r\nfrom FunPayAPI import Account, Runner, types, enums\r\n\r\n\r\nTOKEN = \"<golden_key>\"\r\n\r\n# \u0421\u043e\u0437\u0434\u0430\u0435\u043c \u043a\u043b\u0430\u0441\u0441 \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0430 \u0438 \u0441\u0440\u0430\u0437\u0443 \u0436\u0435 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0434\u0430\u043d\u043d\u044b\u0435 \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0430.\r\nacc = Account(TOKEN).get()\r\n\r\n# \u0421\u043e\u0437\u0434\u0430\u0435\u043c \u043a\u043b\u0430\u0441\u0441 \"\u043f\u0440\u043e\u0441\u043b\u0443\u0448\u0438\u0432\u0430\u0442\u0435\u043b\u044f\" \u0441\u043e\u0431\u044b\u0442\u0438\u0439.\r\nrunner = Runner(acc)\r\n\r\n\r\n# \"\u0421\u043b\u0443\u0448\u0430\u0435\u043c\" \u0441\u043e\u0431\u044b\u0442\u0438\u044f\r\nfor event in runner.listen(requests_delay=4):\r\n # \u0415\u0441\u043b\u0438 \u0441\u043e\u0431\u044b\u0442\u0438\u0435 - \u043d\u043e\u0432\u043e\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435\r\n if event.type is enums.EventTypes.NEW_MESSAGE:\r\n # \u0415\u0441\u043b\u0438 \u0442\u0435\u043a\u0441\u0442 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f == \"\u043f\u0440\u0438\u0432\u0435\u0442\" \u0438 \u043e\u043d\u043e \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043e \u043d\u0435 \u043d\u0430\u043c\u0438\r\n if event.message.text.lower() == \"\u043f\u0440\u0438\u0432\u0435\u0442\" and event.message.author_id != acc.id:\r\n acc.send_message(event.message.chat_id, \"\u041d\u0443 \u043f\u0440\u0438\u0432\u0435\u0442...\") # \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u043c \u043e\u0442\u0432\u0435\u0442\u043d\u043e\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435\r\n```\r\n\r\n<h4 align=\"center\">\u041f\u0440\u0438\u043c\u0435\u0440 \u043f\u0440\u043e\u0441\u0442\u043e\u0433\u043e \u0431\u043e\u0442\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432\u044b\u0434\u0430\u0435\u0442 \u0442\u043e\u0432\u0430\u0440 \u043f\u0440\u0438 \u043d\u043e\u0432\u043e\u043c \u0437\u0430\u043a\u0430\u0437\u0435, \u0435\u0441\u043b\u0438 \u0432 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0438 \u0437\u0430\u043a\u0430\u0437\u0430 \u0435\u0441\u0442\u044c \u0441\u043b\u043e\u0432\u043e \u00ab\u0430\u043a\u043a\u0430\u0443\u043d\u0442\u00bb.</h4>\r\n\r\n```python\r\nfrom FunPayAPI import Account, Runner, types, enums\r\n\r\n\r\nTOKEN = \"<golden_key>\"\r\n\r\n# \u0421\u043e\u0437\u0434\u0430\u0435\u043c \u043a\u043b\u0430\u0441\u0441 \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0430 \u0438 \u0441\u0440\u0430\u0437\u0443 \u0436\u0435 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0434\u0430\u043d\u043d\u044b\u0435 \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0430.\r\nacc = Account(TOKEN).get()\r\n\r\n# \u0421\u043e\u0437\u0434\u0430\u0435\u043c \u043a\u043b\u0430\u0441\u0441 \"\u043f\u0440\u043e\u0441\u043b\u0443\u0448\u0438\u0432\u0430\u0442\u0435\u043b\u044f\" \u0441\u043e\u0431\u044b\u0442\u0438\u0439.\r\nrunner = Runner(acc)\r\n\r\n\r\n# \"\u0421\u043b\u0443\u0448\u0430\u0435\u043c\" \u0441\u043e\u0431\u044b\u0442\u0438\u044f\r\nfor event in runner.listen(requests_delay=4):\r\n # \u0415\u0441\u043b\u0438 \u0441\u043e\u0431\u044b\u0442\u0438\u0435 - \u043d\u043e\u0432\u044b\u0439 \u0437\u0430\u043a\u0430\u0437\r\n if event.type is enums.EventTypes.NEW_ORDER:\r\n # \u0415\u0441\u043b\u0438 \"\u0430\u043a\u043a\u0430\u0443\u043d\u0442\" \u0435\u0441\u0442\u044c \u0432 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0438 \u0437\u0430\u043a\u0430\u0437\u0430\r\n if \"\u0430\u043a\u043a\u0430\u0443\u043d\u0442\" in event.order.description:\r\n chat = acc.get_chat_by_name(event.order.buyer_username, True) # \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c ID \u0447\u0430\u0442\u0430 \u043f\u043e \u043d\u0438\u043a\u043d\u0435\u0439\u043c\u0443\r\n acc.send_message(chat.id, f\"\u041f\u0440\u0438\u0432\u0435\u0442, {event.order.buyer_username}!\\n\"\r\n f\"\u0412\u043e\u0442 \u0442\u0432\u043e\u0439 \u0430\u043a\u043a\u0430\u0443\u043d\u0442:\\n\"\r\n f\"\u041f\u043e\u0447\u0442\u0430: mail@somemail.ru\\n\"\r\n f\"\u041f\u0430\u0440\u043e\u043b\u044c: somepassword!123\") # \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u043c \u043e\u0442\u0432\u0435\u0442\u043d\u043e\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435\r\n```\r\n\r\n",
"bugtrack_url": null,
"license": "GPL3",
"summary": "\u041f\u0440\u043e\u0441\u043b\u043e\u0439\u043a\u0430 \u043c\u0435\u0436\u0434\u0443 FunPayAPI \u0438 \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u043c. [\u0418\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043d\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f]",
"version": "1.1.1",
"project_urls": {
"Homepage": "https://discord.gg/HNhrWJKz3T"
},
"split_keywords": [
"funpay",
"bot",
"api",
"tools"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "c4e75d56fcd47a049927245aeea9aaf4f306820062842c8eae51afc4f966eab8",
"md5": "91e7f0c660423826c9361d0739f4303c",
"sha256": "ef7851f5ce4f446e1019555361d66ba40fa6d1c3cfdc895cab69c9f3dfed82d0"
},
"downloads": -1,
"filename": "FunPayPython-1.1.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "91e7f0c660423826c9361d0739f4303c",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 35006,
"upload_time": "2024-04-21T19:29:44",
"upload_time_iso_8601": "2024-04-21T19:29:44.617039Z",
"url": "https://files.pythonhosted.org/packages/c4/e7/5d56fcd47a049927245aeea9aaf4f306820062842c8eae51afc4f966eab8/FunPayPython-1.1.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "7f8962a28e8748962adaee54fda25b81fef945dcb2387c5f0b0d8e904ab32735",
"md5": "9f47dad45d282fec0df6cff3e1b2a57c",
"sha256": "2609dbca61b35c0e4d9bab88c91a727fbad75884398fe04956594b8ef88f1b24"
},
"downloads": -1,
"filename": "FunPayPython-1.1.1.tar.gz",
"has_sig": false,
"md5_digest": "9f47dad45d282fec0df6cff3e1b2a57c",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 31071,
"upload_time": "2024-04-21T19:29:46",
"upload_time_iso_8601": "2024-04-21T19:29:46.614167Z",
"url": "https://files.pythonhosted.org/packages/7f/89/62a28e8748962adaee54fda25b81fef945dcb2387c5f0b0d8e904ab32735/FunPayPython-1.1.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-04-21 19:29:46",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "funpaypython"
}