Skip to content

Commit

Permalink
Add new update_birthday method
Browse files Browse the repository at this point in the history
KurimuzonAkuma committed Apr 1, 2024

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
1 parent 6b79475 commit 2e931f7
Showing 3 changed files with 70 additions and 0 deletions.
1 change: 1 addition & 0 deletions compiler/docs/compiler.py
Original file line number Diff line number Diff line change
@@ -279,6 +279,7 @@ def get_title_list(s: str) -> list:
set_emoji_status
update_status
check_username
update_birthday
""",
invite_links="""
Invite Links
2 changes: 2 additions & 0 deletions pyrogram/methods/users/__init__.py
Original file line number Diff line number Diff line change
@@ -29,6 +29,7 @@
from .set_profile_photo import SetProfilePhoto
from .set_username import SetUsername
from .unblock_user import UnblockUser
from .update_birthday import UpdateBirthday
from .update_profile import UpdateProfile
from .update_status import UpdateStatus

@@ -45,6 +46,7 @@ class Users(
SetUsername,
GetChatPhotosCount,
UnblockUser,
UpdateBirthday,
UpdateProfile,
UpdateStatus,
GetDefaultEmojiStatuses,
67 changes: 67 additions & 0 deletions pyrogram/methods/users/update_birthday.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
# Pyrogram - Telegram MTProto API Client Library for Python
# Copyright (C) 2017-present Dan <https://github.com/delivrance>
#
# This file is part of Pyrogram.
#
# Pyrogram is free software: you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as published
# by the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# Pyrogram is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with Pyrogram. If not, see <http://www.gnu.org/licenses/>.

import pyrogram
from pyrogram import raw


class UpdateBirthday:
async def update_birthday(
self: "pyrogram.Client",
day: int = None,
month: int = None,
year: int = None
) -> bool:
"""Update birthday in your profile.
.. include:: /_includes/usable-by/users.rst
Parameters:
day (``int``, *optional*):
Birthday day.
month (``int``, *optional*):
Birthday month.
year (``int``, *optional*):
Birthday year.
Returns:
``bool``: True on success.
Example:
.. code-block:: python
# Update your birthday
await app.update_birthday(day=1, month=1, year=2000)
# Remove birthday from profile
await app.update_birthday()
"""
birthday = None

if all((day, month)):
birthday = raw.types.Birthday(day=day, month=month, year=year)

return bool(
await self.invoke(
raw.functions.account.UpdateBirthday(
birthday=birthday
)
)
)

0 comments on commit 2e931f7

Please sign in to comment.