Add toggle_join_to_send method (#22)

Signed-off-by: Aliwoto <aminnimaj@gmail.com>
This commit is contained in:
ALi.w 2024-02-08 16:50:01 +03:30 committed by GitHub
parent 91f3ffa431
commit 13070fe748
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 67 additions and 0 deletions

View File

@ -65,6 +65,7 @@ from .set_chat_username import SetChatUsername
from .set_send_as_chat import SetSendAsChat from .set_send_as_chat import SetSendAsChat
from .set_slow_mode import SetSlowMode from .set_slow_mode import SetSlowMode
from .toggle_forum_topics import ToggleForumTopics from .toggle_forum_topics import ToggleForumTopics
from .toggle_join_to_send import ToggleJoinToSend
from .unarchive_chats import UnarchiveChats from .unarchive_chats import UnarchiveChats
from .unban_chat_member import UnbanChatMember from .unban_chat_member import UnbanChatMember
from .unpin_all_chat_messages import UnpinAllChatMessages from .unpin_all_chat_messages import UnpinAllChatMessages
@ -122,6 +123,7 @@ class Chats(
SetAdministratorTitle, SetAdministratorTitle,
SetSlowMode, SetSlowMode,
ToggleForumTopics, ToggleForumTopics,
ToggleJoinToSend,
DeleteUserHistory, DeleteUserHistory,
UnpinAllChatMessages, UnpinAllChatMessages,
MarkChatUnread, MarkChatUnread,

View File

@ -0,0 +1,65 @@
# 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/>.
from typing import Union
import pyrogram
from pyrogram import raw
from pyrogram import errors
class ToggleJoinToSend:
async def toggle_join_to_send(
self: "pyrogram.Client",
chat_id: Union[int, str],
enabled: bool = False
) -> bool:
"""Enable or disable guest users' ability to send messages in a supergroup.
.. include:: /_includes/usable-by/users.rst
Parameters:
chat_id (``int`` | ``str``):
Unique identifier (int) or username (str) of the target chat.
enabled (``bool``):
The new status. Pass True to enable guest users to send message.
Returns:
``bool``: True on success. False otherwise.
Example:
.. code-block:: python
# Change status of guests sending messages to disabled
await app.toggle_join_to_send()
# Change status of guests sending messages to enabled
await app.toggle_join_to_send(enabled=True)
"""
try:
r = await self.invoke(
raw.functions.channels.ToggleJoinToSend(
channel=await self.resolve_peer(chat_id),
enabled=enabled
)
)
return bool(r)
except errors.RPCError:
return False