Skip to content

Commit

Permalink
Merge pull request #1 from WindowsSov8forUs/new-api-format
Browse files Browse the repository at this point in the history
更新正式版新api
  • Loading branch information
WindowsSov8forUs committed Jun 28, 2024
2 parents ae842e3 + b631291 commit 40add86
Show file tree
Hide file tree
Showing 21 changed files with 923 additions and 319 deletions.
23 changes: 17 additions & 6 deletions .github/workflows/publish-to-pypi.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,20 +14,31 @@ jobs:

steps:
- uses: actions/checkout@v2

- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: '3.8'

- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install setuptools wheel twine
- name: Get Version
id: version
run: |
echo "VERSION=$(pip --version)" >> $GITHUB_OUTPUT
echo "TAG_VERSION=${GITHUB_REF#refs/tags/v}" >> $GITHUB_OUTPUT
echo "TAG_NAME=${GITHUB_REF#refs/tags/}" >> $GITHUB_OUTPUT
- name: Build distribution
run: |
python setup.py sdist bdist_wheel
- name: Publish to PyPI
uses: pypa/gh-action-pypi-publish@release/v1
with:
user: __token__
password: ${{ secrets.PYPI_TOKEN }}
skip-existing: true
- name: Publish to PyPI and Release
run: |
gh release upload --clobber ${{ steps.version.outputs.TAG_NAME }} dist/*.tar.gz dist/*.whl
python -m twine upload dist/* --repository-url https://upload.pypi.org/legacy/ --username __token__ --password ${{ secrets.PYPI_TOKEN }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
6 changes: 5 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,11 @@ _✨ Python 编写的 [TsuguBanGDreamBot](https://github.com/Yamamoto-2/tsugu-ba
</a>

<a href="https://pypi.org/project/tsugu-api-python/">
<img src="https://img.shields.io/pypi/v/tsugu-api-python" alt="PyPI Version">
<img src="https://img.shields.io/pypi/v/tsugu-api-python?label=stable" alt="PyPI Version">
</a>

<a href="https://pypi.org/project/tsugu-api-python/">
<img src="https://img.shields.io/pypi/v/tsugu-api-python?include_prereleases&label=latest" alt="PyPI Version">
</a>

</p>
Expand Down
4 changes: 2 additions & 2 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

setup(
name='tsugu-api-python',
version='1.2.0',
version='1.3.0rc1',
author='WindowsSov8',
author_email='[email protected]',
description='Tsugu BanGDream Bot 的功能 API 统合包',
Expand All @@ -24,6 +24,6 @@
install_requires=[
'httpx>=0.22.0',
'aiohttp>=3.8.1',
'typing_extensions>=4.0.0'
'typing_extensions>=4.5.0'
]
)
4 changes: 4 additions & 0 deletions tsugu_api/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,16 +16,20 @@
from ._tsugu import ycx_all as ycx_all
from ._tsugu import room_list as room_list
from ._tsugu import song_meta as song_meta
from ._tsugu import cutoff_all as cutoff_all
from ._tsugu import song_chart as song_chart
from ._tsugu import event_stage as event_stage
from ._tsugu import search_card as search_card
from ._tsugu import search_song as search_song
from ._tsugu import fuzzy_search as fuzzy_search
from ._tsugu import search_event as search_event
from ._tsugu import search_gacha as search_gacha
from ._tsugu import cutoff_detail as cutoff_detail
from ._tsugu import search_player as search_player
from ._tsugu import gacha_simulate as gacha_simulate
from ._tsugu import search_character as search_character
from ._tsugu import get_card_illustration as get_card_illustration
from ._tsugu import cutoff_list_of_recent_event as cutoff_list_of_recent_event

from ._station import station_query_all_room as station_query_all_room
from ._station import station_submit_room_number as station_submit_room_number
Expand Down
23 changes: 9 additions & 14 deletions tsugu_api/_bandoristation.py
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
from typing import List

from tsugu_api_core import settings
from tsugu_api_core._network import Api
from tsugu_api_core._typing import _StationRoom
from tsugu_api_core.exception import RoomQueryFailure, RoomSubmitFailure

BANDORI_STATION_URL = 'https://api.bandoristation.com/index.php'
from tsugu_api_core.bandoristation._network import Api
from tsugu_api_core.bandoristation._typing import _StationRoom
from tsugu_api_core.bandoristation.exception import (
RoomQueryFailure,
RoomSubmitFailure
)

def submit_room_number(number: int, user_id: str, raw_message: str, source: str, token: str) -> None:
'''上传房间号
Expand All @@ -20,7 +21,6 @@ def submit_room_number(number: int, user_id: str, raw_message: str, source: str,

# 构建参数
params = {
'function': 'submit_room_number',
'number': number,
'user_id': user_id,
'raw_message': raw_message,
Expand All @@ -30,7 +30,7 @@ def submit_room_number(number: int, user_id: str, raw_message: str, source: str,

# 发送请求
response = Api(
BANDORI_STATION_URL,
'submit_room_number',
proxy=settings.backend_proxy
).get(params).json()
if response['status'] == 'failure':
Expand All @@ -43,16 +43,11 @@ def query_room_number() -> List[_StationRoom]:
List[_StationRoom]: 房间信息列表
'''

# 构建参数
params = {
'function': 'query_room_number'
}

# 发送请求
response = Api(
BANDORI_STATION_URL,
'query_room_number',
proxy=settings.backend_proxy
).get(params).json()
).get().json()
if response['status'] == 'failure':
raise RoomQueryFailure(response['response'])
return response['response']
6 changes: 5 additions & 1 deletion tsugu_api/_station.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ def station_submit_room_number(
platform: str,
user_id: str,
user_name: str,
avatar_url: Optional[str] = None,
bandori_station_token: Optional[str] = None
) -> _SubmitResponse:
'''提交车牌号
Expand All @@ -24,6 +25,7 @@ def station_submit_room_number(
platform (str): 平台
user_id (str): 用户 ID
user_name (str): 用户名
avatar_url (Optional[str]): 用户头像 URL
bandori_station_token (Optional[str]): Bandori 车站令牌,不填则使用 Tsugu 后端配置
返回:
Expand All @@ -38,10 +40,12 @@ def station_submit_room_number(
'number': number,
'rawMessage': raw_message,
'platform': platform,
'user_id': user_id,
'userId': user_id,
'userName': user_name,
'time': int(time())
}
if avatar_url:
data['avatarUrl'] = avatar_url
if bandori_station_token:
data['bandoriStationToken'] = bandori_station_token

Expand Down
Loading

0 comments on commit 40add86

Please sign in to comment.