Giter Club home page Giter Club logo

hoyo-buddy's Introduction

Hoyo Buddy

Hoyo Buddy

GitHub issues GitHub pull requests GitHub Repo stars GitHub forks GitHub code size in bytes Commit activity GitHub Ruff

Hoyo Buddy is a feature rich, easy to use, and beautifully designed Discord bot specifically made for Hoyoverse gamers.

Nice Images

Powered By

Other projects made by me that are used in Hoyo Buddy

  • ambr.py: API wrapper for Project Ambr, used to obtain Genshin Impact game data.
  • yatta.py: API wrapper for Project Yatta, used to obtain Honkai Star Rail game data.
  • hakushin.py: API wrapper for Hakushin, used to obtain beta Genshin Impact and Honkai Star Rail game data, and Zenless Zone Zero data.
  • akasha.py: API wrapper for Akasha System, used in the character damage leaderboard feature.
  • enka.py: API wrapper for Enka Network, used to obtain Genshin Impact and Honkai Star Rail player showcase data.
  • enka-card-api: API to generate 3rd party template cards.
  • hoyo-buddy-web-app: Simple web app written in Flet to display all of Hoyo Buddy's commands in real-time.
  • genshin.py (contributor): API wrapper for HoYoLAB and Miyoushe.
  • hoyo-codes: API to get gift codes for all Hoyoverse games, used in the automatic code redemption feature.
  • daily-checkin-api (private): API to perform daily check-in, used in the automatic daily check-in feature.
  • hoyo-buddy-assets (private): Hoyo Buddy assets, used in image generation features.
  • ZenlessAssetScrape: Zenless Zone Zero assets/data scraped from various database websites, used in ZZZ build card feature.

Contributing

Please read the Contribution Guidelines for more info.

Acknowledgements

This project can't be made without all of the dependencies made by the awesome open source community.

hoyo-buddy's People

Contributors

deepsource-autofix[bot] avatar deepsource-io[bot] avatar github-actions[bot] avatar renovate[bot] avatar seriaati avatar transifex-integration[bot] avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

hoshino2123

hoyo-buddy's Issues

(PYL-W0201) Attribute defined outside `__init__`

Description

Defining an instance attribute outside __init__ affects the readability of code. It is expected to find all the attributes an instance may have by reading its __init__ method. If there is a need to initialize attribute via sub-initialization methods, it is recommended to assign attributes to None in the init

Occurrences

There are 2 occurrences of this issue in the repository.

See all occurrences on DeepSource → app.deepsource.com/gh/seriaati/hoyo-buddy/issue/PYL-W0201/occurrences/

/beta command

shows current beta content in both games, can also notify via dm when new beta release arrives.

(/profile) Add team card feature

Source

Requested by mowkibowki in Discord server.

Feature Description

  • The user will be able to pick multiple characters from the character select (maximum of 4)
  • When 2 or more characters are selected, a "team card" will be generated, a card that shows the stats and equipments of all of the selected characters at once.
  • Will need to support all 3 games (GI, HSR, ZZZ)

Other Information

The requester also gave a layout used by other bots
AbUCvqo1ETcCAAAAAElFTkSuQmCC.png

(/todo) Add todo list feature

Be able to save the results from /calc to a todo list.
Can also add custom items.
But mostly, materials from the games.

ValidationError: 11 validation errors for Build

Sentry Issue: HOYO-BUDDY-7H

ValidationError: 11 validation errors for Build
avatar_data.artifacts.0.nameTextMapHash
  Input should be a valid string [type=string_type, input_value=3762687788, input_type=int]
    For further information visit https://errors.pydantic.dev/2.7/v/string_type
avatar_data.artifacts.0.setNameTextMapHash
  Input should be a valid string [type=string_type, input_value=1756609915, input_type=int]
    For further information visit https://errors.pydantic.dev/2.7/v/string_type
avatar_data.artifacts.1.nameTextMapHash
  Input should be a valid string [type=string_type, input_value=4122248468, input_type=int]
    For further information visit https://errors.pydantic.dev/2.7/v/string_type
avatar_data.artifacts.1.setNameTextMapHash
  Input should be a valid string [type=string_type, input_value=1756609915, input_type=int]
    For further information visit https://errors.pydantic.dev/2.7/v/string_type
avatar_data.artifacts.2.nameTextMapHash
  Input should be a valid string [type=string_type, input_value=1021872964, input_type=int]
    ...
  File "/root/seria/hoyo-buddy/hoyo_buddy/cogs/hoyo.py", line 164, in profile_command
    view = await handler.run_genshin()
  File "/root/seria/hoyo-buddy/hoyo_buddy/commands/profile.py", line 46, in run_genshin
    builds = await client.fetch_builds(genshin_data.owner)
  File "/root/seria/hoyo-buddy/hoyo_buddy/hoyo/clients/enka/gi.py", line 31, in fetch_builds
    return await client.fetch_builds(owner)

IndexError: list index out of range

Sentry Issue: HOYO-BUDDY-75

IndexError: list index out of range
  File "/root/seria/hoyo-buddy/hoyo_buddy/ui/hoyo/genshin/abyss_enemy.py", line 236, in callback
    await self.view._update(i)
  File "/root/seria/hoyo-buddy/hoyo_buddy/ui/hoyo/genshin/abyss_enemy.py", line 127, in _update
    embed, items = await self._get_embed_and_enemy_items()
  File "/root/seria/hoyo-buddy/hoyo_buddy/ui/hoyo/genshin/abyss_enemy.py", line 102, in _get_embed_and_enemy_items
    abyss.abyssal_moon_spire.floors[self._floor_index - 8]

DataNotPublic: [10102] User's data is not public.

Sentry Issue: HOYO-BUDDY-77

DataNotPublic: [10102] User's data is not public.
(4 additional frame(s) were not displayed)
...
  File "genshin/client/components/base.py", line 359, in request
    response = await self.cookie_manager.request(
  File "genshin/client/manager/managers.py", line 268, in request
    return await self._request(method, url, cookies=self.cookies, **kwargs)
  File "genshin/client/ratelimit.py", line 25, in inner
    x = await func(*args, **kwargs)
  File "genshin/client/manager/managers.py", line 159, in _request
    errors.raise_for_retcode(data)
  File "genshin/errors.py", line 332, in raise_for_retcode
    raise exctype(data, msg)

DataNotPublic: [10102] User's data is not public.
(8 additional frame(s) were not displayed)
...
  File "/root/seria/hoyo-buddy/hoyo_buddy/cogs/hoyo.py", line 209, in notes_command
    await view.start(i)
  File "/root/seria/hoyo-buddy/hoyo_buddy/ui/hoyo/notes/view.py", line 484, in start
    notes = await self._get_notes()
  File "/root/seria/hoyo-buddy/hoyo_buddy/ui/hoyo/notes/view.py", line 394, in _get_notes
    return await self._account.client.get_genshin_notes()

(PYL-W0221) Mismatched parameters in overridden method

Description

The parameters in the overridden method don't match the method defined in the parent class. There are three possible scenarios for this: - The number of parameters are different in both methods - One or more names of the parameters are different in both methods - The order of parameters …

Occurrences

There are 7 occurrences of this issue in the repository.

See all occurrences on DeepSource → app.deepsource.com/gh/seriaati/hoyo-buddy/issue/PYL-W0221/occurrences/

/search command

Genshin (Ambr)

  • Character
  • Weapon
  • Food
  • Material
  • Artifact Set
  • Funishing
  • Furnishin Set
  • Namecard
  • Living Being
  • Book
    Achievements
  • TCG

Star Rail (Yatta)

  • Update yatta to match features that are present in ambr
  • Character
  • Light Cone
  • Item
  • Relic
  • Book
  • Message

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.