Merge pull request #12 from MadCat9958/v3

Fixes
This commit is contained in:
Виктор 2023-06-04 14:09:48 +03:00 committed by GitHub
commit 16fdb4d0ea
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 25 additions and 23 deletions

View file

@ -88,6 +88,22 @@ class BoticordClient:
response = await self.http.get_server_info(server_id)
return boticord_types.ResourceServer.from_dict(response)
async def get_user_info(
self, user_id: typing.Union[str, int]
) -> boticord_types.UserProfile:
"""Gets information about specified user.
Args:
user_id (Union[:obj:`str`, :obj:`int`])
Id of the user
Returns:
:obj:`~.types.UserProfile`:
UserProfile object.
"""
response = await self.http.get_user_info(user_id)
return boticord_types.UserProfile.from_dict(response)
def autopost(self) -> AutoPost:
"""Returns a helper instance for auto-posting.

View file

@ -29,7 +29,7 @@ class HttpClient:
self.session = kwargs.get("session") or aiohttp.ClientSession(loop=loop)
async def make_request(self, method: str, endpoint: str, **kwargs):
async def make_request(self, method: str, endpoint: str, **kwargs) -> dict:
"""Send requests to the API"""
kwargs["headers"] = {"Content-Type": "application/json"}
@ -60,3 +60,7 @@ class HttpClient:
def get_server_info(self, server_id: typing.Union[str, int]):
"""Get information about specified server"""
return self.make_request("GET", f"servers/{server_id}")
def get_user_info(self, user_id: typing.Union[str, int]):
"""Get information about specified user"""
return self.make_request("GET", f"users/{user_id}")

View file

@ -401,12 +401,13 @@ class UserLinks(APIObjectBase):
"""
self: UserLinks = super().__new__(cls)
data = data or {}
self.vk = data.get("vk")
self.telegram = data.get("telegram")
self.donate = data.get("donate")
self.git = data.get("git")
self.custon = data.get("custom")
self.custom = data.get("custom")
return self
@ -547,7 +548,7 @@ class PartialUser(APIObjectBase):
self.discriminator = data["discriminator"]
self.avatar = data.get("avatar")
self.id = data["id"]
self.socials = UserLinks.from_dict(data["socials"])
self.socials = UserLinks.from_dict(data.get("socials", {}))
self.description = data.get("description")
self.short_description = data.get("shortDescription")
self.status = data.get("status")
@ -647,6 +648,7 @@ class ResourceServer(APIObjectBase):
self.owner = data.get("owner")
self.website = data.get("website")
self.up_count = data.get("upCount")
self.standart_banner_id = data.get("standartBannerID")
self.premium_active = data["premium"].get("active")
self.premium_splash_url = data["premium"].get("splashURL")

View file

@ -1,20 +0,0 @@
# You can use any library to interact with the Discord API.
# This example uses discord.py.
# You can install it with `pip install discord.py`.
from discord.ext import commands
from boticordpy import webhook
bot = commands.Bot(command_prefix="!")
async def edit_bot_comment(data):
print(data.comment.new)
boticord_webhook = webhook.Webhook("x-hook-key", "bot").register_listener(
"edit_bot_comment", edit_bot_comment
)
boticord_webhook.start(5000)
bot.run("bot_token")