{"id":16088184,"url":"https://github.com/kesha1225/pykwork","last_synced_at":"2025-09-02T16:46:46.573Z","repository":{"id":37776495,"uuid":"237842654","full_name":"kesha1225/pykwork","owner":"kesha1225","description":"Простая асинхронная обёртка над закрытым api для фриланс биржи kwork.ru","archived":false,"fork":false,"pushed_at":"2024-02-12T20:16:21.000Z","size":101,"stargazers_count":42,"open_issues_count":4,"forks_count":4,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-28T07:49:32.549Z","etag":null,"topics":["kwork","kwork-api","kwork-bot"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kesha1225.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2020-02-02T21:54:29.000Z","updated_at":"2025-01-10T11:02:21.000Z","dependencies_parsed_at":"2024-10-27T17:23:26.587Z","dependency_job_id":"eb401d37-6b84-4bbe-ad00-cae8a2285503","html_url":"https://github.com/kesha1225/pykwork","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kesha1225%2Fpykwork","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kesha1225%2Fpykwork/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kesha1225%2Fpykwork/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kesha1225%2Fpykwork/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kesha1225","download_url":"https://codeload.github.com/kesha1225/pykwork/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243906908,"owners_count":20367122,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["kwork","kwork-api","kwork-bot"],"created_at":"2024-10-09T13:35:15.340Z","updated_at":"2025-03-18T06:30:47.442Z","avatar_url":"https://github.com/kesha1225.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"Простая асинхронная обёртка над закрытым api для фриланс биржи kwork.ru\n\n\nhttps://api.kwork.ru/\nвсе доступные методы тут, можно запрашивать их через api_request.\nСейчас доступ закрыли, но его можно открыть с помощью [docs.html](docs.html) \n(просто откройте файл в браузере). \nТам вся документация по методам и параметрам.\n\n\n**Если нужного вам метода нет в классе или нет нужных параметров просто используйте\n[документацию](docs.html) и api_request!!**\n```python3\nawait self.api_request(\n    method=\"post\", api_method=\"actor\", token=await self.token\n)\n```\n\n\n## Установка\n\nПоследняя версия (рекомендуется):\n```\npip install https://github.com/kesha1225/pykwork/archive/master.zip --upgrade\n```\n\nВерсия на pypi (может быть устаревшей):\n```\npip install kwork\n```\n\n\n## Обзор\n\nСписок доступных методов можно посмотреть [здесь](./api_example.py)\n\nПример простого api запроса:\n\n```python3\nfrom kwork import Kwork\nfrom kwork.types import Actor\nimport logging\nimport asyncio\n\nlogging.basicConfig(level=logging.INFO)\n\n\nasync def main():\n    api = Kwork(login=\"login\", password=\"password\")\n    me: Actor = await api.get_me()\n    # Получение своего профиля\n    print(me)\n    await api.close()\n\nloop = asyncio.get_event_loop()\nloop.run_until_complete(main())\n\n```\n\n### pykwork предоставляет возможность создания ботов для мгновенных ответов потециальным покупателям\n\n\nПример бота с тремя хендлерами для ответов:\n\n```python3\nfrom kwork import KworkBot\nfrom kwork.types import Message\nimport logging\nimport asyncio\n\nlogging.basicConfig(level=logging.INFO)\n\nbot = KworkBot(login=\"login\", password=\"password\")\n\n@bot.message_handler(on_start=True)\nasync def simple_handle(message: Message):\n    \"\"\"\n    Отвечаем только если это первое сообщение от юзера\n    \"\"\"\n    text = (\"Здравствуйте, рад что вы обратились именно ко мне,\"\n            \" опишите ваше желание подробнее!\")\n    await message.answer_simulation(text)\n\n\n@bot.message_handler(text_contains=\"бот\")\nasync def bot_handler(message: Message):\n    \"\"\"\n    Отвечаем если текст сообщения содержит слово бот\n    \"\"\"\n    text = \"Вам нужен бот? Можете посмотреть на примеры уже сделанных:...\"\n    await message.answer_simulation(text)\n\n\n@bot.message_handler(text=\"привет\")\nasync def bot_handler(message: Message):\n    \"\"\"\n    Отвечаем только если текст такой же как параметр text\n    \"\"\"\n    text = \"И вам привет!\"\n    await message.answer_simulation(text)\n\n\nasync def run():\n    \"\"\"\n    Запускаем бота\n    \"\"\"\n    await bot.run_bot()\n\n\nloop = asyncio.get_event_loop()\nloop.run_until_complete(run())\n\n```\n\n## Примечание\n\nПолучая ошибку \"Подтвердите что вы не робот\" просто ставьте прокси.\n\nKwork может банить по ip, но в основном pykwork предотвращает это, даже\nесли вас забанили, не пугайтесь, аккаунты они не банят, просто перезайдите\nс vpn/tor/proxy. Если вас каким то чудом забанили, но вам нужно продолжить \nиспользовать бота - воспользуйтесь прокси (socks5/socks4):\n\n```python3\nfrom kwork import Kwork\nfrom kwork.types import User, Actor\nimport logging\nimport asyncio\n\nlogging.basicConfig(level=logging.INFO)\n\n\nasync def main():\n    api = Kwork(login=\"login\", password=\"password\", proxy=\"socks5://208.113.220.250:3420\")\n\n    me: Actor = await api.get_me()\n    print(me)\n\n    await api.close()\n\nloop = asyncio.get_event_loop()\nloop.run_until_complete(main())\n\n``` \n\nПолучая ошибку \"Необходимо ввести последние 4 цифры номера телефона.\" используйте параметр phone_last\n```python3\napi = Kwork(login=\"login\", password=\"password\", phone_last=\"0102\")\n```\n\nЕсли вдруг какие - то методы перестанут работать или работают неправильно -\nпишите отчёты в issue","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkesha1225%2Fpykwork","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkesha1225%2Fpykwork","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkesha1225%2Fpykwork/lists"}