Compare commits

...

904 commits
2.1.6 ... main

Author SHA1 Message Date
wulan17
6bbff46417
pyrofork: fix export_folder_link doc
Some checks failed
Pyrofork / build (macos-latest, 3.10) (push) Has been cancelled
Pyrofork / build (macos-latest, 3.11) (push) Has been cancelled
Pyrofork / build (macos-latest, 3.12) (push) Has been cancelled
Pyrofork / build (macos-latest, 3.13) (push) Has been cancelled
Pyrofork / build (macos-latest, 3.14) (push) Has been cancelled
Pyrofork / build (ubuntu-latest, 3.10) (push) Has been cancelled
Pyrofork / build (ubuntu-latest, 3.11) (push) Has been cancelled
Pyrofork / build (ubuntu-latest, 3.12) (push) Has been cancelled
Pyrofork / build (ubuntu-latest, 3.13) (push) Has been cancelled
Pyrofork / build (ubuntu-latest, 3.14) (push) Has been cancelled
Signed-off-by: wulan17 <wulan17@komodos.id>
2025-12-11 01:51:12 +07:00
wulan17
2c32c152cb
pyrofork: Bump version to 2.3.69
Signed-off-by: wulan17 <wulan17@komodos.id>
2025-12-11 01:34:40 +07:00
97db9130bb
Merge pull request #159 from Silicon-Developer/main
Typo !
2025-12-11 01:31:55 +07:00
47a3b6179d
Merge pull request #157 from asoul-rec/patch-1
Add missing topic assignment in Message.__init__
2025-12-11 01:29:49 +07:00
yueyueL
2f2d515575
pyrofork: fix(security): sanitize file names to prevent CWE-22 path traversal
Signed-off-by: wulan17 <wulan17@komodos.id>
2025-12-11 01:28:01 +07:00
wulan17
e9c40679d2
pyrofork: Refactor docs build script
Signed-off-by: wulan17 <wulan17@komodos.id>
2025-12-11 01:28:01 +07:00
wulan17
b43e857ed2
pyrofork: Refactor TodoList
Signed-off-by: wulan17 <wulan17@komodos.id>
2025-12-11 01:28:01 +07:00
wulan17
72b043b743
pyrofork: Add ExportedFolderLink types
Signed-off-by: wulan17 <wulan17@komodos.id>
2025-12-11 01:28:01 +07:00
wulan17
ac8e8fef4d
pyrofork: Add can_manage_direct_messages field to ChatPrivileges
Signed-off-by: wulan17 <wulan17@komodos.id>
2025-12-11 01:28:00 +07:00
wulan17
0876ac31bd
pyrofork: Update API schema to Layer 220
Signed-off-by: wulan17 <wulan17@komodos.id>
2025-12-11 01:28:00 +07:00
wulan17
4f4988e808
pyrofork: Update API schema to Layer 219
Signed-off-by: wulan17 <wulan17@komodos.id>
2025-12-11 01:28:00 +07:00
wulan17
94c474a646
pyrofork: Update domain
Signed-off-by: wulan17 <wulan17@komodos.id>
2025-12-11 01:28:00 +07:00
wulan17
66753e44f2
pyrofork: access class __annotations__ instead of instance
Python 3.14 removed implicit fallback to class-level __annotations__,
causing AttributeError when accessing self.__annotations__. Updated
matches() to use self.__class__.__annotations__ for compatibility
across Python 3.10+.

Signed-off-by: wulan17 <wulan17@komodos.id>
2025-12-11 01:28:00 +07:00
wulan17
d35abe89c4
pyrofork: Adapt uvloop changes
Signed-off-by: wulan17 <wulan17@komodos.id>
2025-12-11 01:27:53 +07:00
wulan17
77f50c6a82
pyrofork: Update API schema to Layer 218
Signed-off-by: wulan17 <wulan17@komodos.id>
2025-12-11 01:27:42 +07:00
wulan17
c15a59e998
pyrofork: Update API schema to Layer 217
Signed-off-by: wulan17 <wulan17@komodos.id>
2025-12-11 01:27:42 +07:00
wulan17
945dcfca56
pyrofork: Drop python 3.9 support
Signed-off-by: wulan17 <wulan17@komodos.id>
2025-12-11 01:27:42 +07:00
wulan17
12cf466b23
pyrofork: Move forums methods to separate category and adapt to new layer
Signed-off-by: wulan17 <wulan17@komodos.id>
2025-12-11 01:27:26 +07:00
wulan17
8c6bad6aa4
pyrofork: Update API schema to Layer 216
Signed-off-by: wulan17 <wulan17@komodos.id>
2025-12-11 01:27:10 +07:00
wulan17
dddb0d75e7
pyrofork: Update API schema to Layer 215
Signed-off-by: wulan17 <wulan17@komodos.id>
2025-12-11 01:27:10 +07:00
wulan17
f0cc3afe5d
pyrofork: Update API schema to Layer 214
Signed-off-by: wulan17 <wulan17@komodos.id>
2025-12-11 01:27:10 +07:00
wulan17
7105b131dc
pyrofork: Update API schema to Layer 213
Signed-off-by: wulan17 <wulan17@komodos.id>
2025-12-11 01:27:10 +07:00
wulan17
4afd74d26e
pyrofork: Update API schema to Layer 212
Signed-off-by: wulan17 <wulan17@komodos.id>
2025-12-11 01:27:10 +07:00
wulan17
73027fecf7
pyrofork: Update API schema to Layer 211
Signed-off-by: wulan17 <wulan17@komodos.id>
2025-12-11 01:27:10 +07:00
wulan17
7db5e1423f
pyrofork: Implement chunk pagination on get_forum_topics method (#114)
Signed-off-by: wulan17 <wulan17@komodos.id>
2025-12-11 01:27:10 +07:00
wulan17
802c394f91
pyrofork: Update API schema to Layer 210
Signed-off-by: wulan17 <wulan17@komodos.id>
2025-12-11 01:27:10 +07:00
wulan17
4570b3b5a9
pyrofork: Update API schema to Layer 208
Signed-off-by: wulan17 <wulan17@komodos.id>
2025-12-11 01:26:46 +07:00
Silicon Developer
fa9781d62c
Typo ! 2025-10-20 08:24:00 +05:30
asoul-rec
9a772a8c8a
add missing topic assignment in Message.__init__ 2025-09-25 01:34:00 -05:00
wulan17
cb38d6a02b
pyrofork: docs: storage: Add example for official async mongodb driver
Some checks failed
Pyrofork / build (macos-latest, 3.10) (push) Has been cancelled
Pyrofork / build (macos-latest, 3.11) (push) Has been cancelled
Pyrofork / build (macos-latest, 3.12) (push) Has been cancelled
Pyrofork / build (macos-latest, 3.13) (push) Has been cancelled
Pyrofork / build (macos-latest, 3.9) (push) Has been cancelled
Pyrofork / build (ubuntu-latest, 3.10) (push) Has been cancelled
Pyrofork / build (ubuntu-latest, 3.11) (push) Has been cancelled
Pyrofork / build (ubuntu-latest, 3.12) (push) Has been cancelled
Pyrofork / build (ubuntu-latest, 3.13) (push) Has been cancelled
Pyrofork / build (ubuntu-latest, 3.9) (push) Has been cancelled
Signed-off-by: wulan17 <wulan17@komodos.id>
2025-07-11 20:31:21 +07:00
wulan17
cf6141feb4
pyrofork: Bump version to 2.3.68
Some checks are pending
Pyrofork / build (macos-latest, 3.10) (push) Waiting to run
Pyrofork / build (macos-latest, 3.11) (push) Waiting to run
Pyrofork / build (macos-latest, 3.12) (push) Waiting to run
Pyrofork / build (macos-latest, 3.13) (push) Waiting to run
Pyrofork / build (macos-latest, 3.9) (push) Waiting to run
Pyrofork / build (ubuntu-latest, 3.10) (push) Waiting to run
Pyrofork / build (ubuntu-latest, 3.11) (push) Waiting to run
Pyrofork / build (ubuntu-latest, 3.12) (push) Waiting to run
Pyrofork / build (ubuntu-latest, 3.13) (push) Waiting to run
Pyrofork / build (ubuntu-latest, 3.9) (push) Waiting to run
Signed-off-by: wulan17 <wulan17@komodos.id>
2025-07-10 19:58:10 +07:00
wulan17
8acc457458
pyrofork: types: Chat: _parse_dialog: Handle InputPeerUser and InputPeerChat
Signed-off-by: wulan17 <wulan17@komodos.id>
2025-07-10 19:56:53 +07:00
wulan17
413556a3f2
pyrofork: Refactor folders
Signed-off-by: wulan17 <wulan17@komodos.id>
2025-07-10 19:56:52 +07:00
wulan17
4a109b3dc2
pyrofork: Adapt filters.linked_channel to latest changes
Signed-off-by: wulan17 <wulan17@komodos.id>
2025-07-10 19:56:52 +07:00
wulan17
46e755f297
pyrofork: client: fix looping prompt when use qrcode as input
Signed-off-by: wulan17 <wulan17@komodos.id>
2025-07-10 19:56:52 +07:00
wulan17
c8b22bb5e7
pyrofork: Add resale_amount field to Gift (#144)
Signed-off-by: wulan17 <wulan17@komodos.id>
2025-07-10 19:56:51 +07:00
Hentinel
9b670a78b3
pyrofork: Allow to specify system_lang_code and lang_pack (#129)
Signed-off-by: wulan17 <wulan17@komodos.id>
2025-07-10 19:56:51 +07:00
Otazuki
621c690e55
pyrofork: Add transfer_chat_ownership method (#145)
Signed-off-by: wulan17 <wulan17@komodos.id>
2025-07-10 19:56:51 +07:00
wulan17
07bdefb017
pyrofork: Add todolist implementation
Signed-off-by: wulan17 <wulan17@komodos.id>
2025-07-10 19:56:51 +07:00
wulan17
9d795911b4
pyrofork: Update API schema to Layer 207
Signed-off-by: wulan17 <wulan17@komodos.id>
2025-07-10 19:56:50 +07:00
wulan17
cb19b742ad
pyrofork: Update API schema to Layer 206
Signed-off-by: wulan17 <wulan17@komodos.id>
2025-07-10 19:56:50 +07:00
wulan17
1ba1a051c4
pyrofork: Update API schema to Layer 205
Signed-off-by: wulan17 <wulan17@komodos.id>
2025-07-10 19:56:50 +07:00
6151813555
Merge pull request #121 from Mayuri-Chan/dependabot/pip/sphinx-immaterial-0.13.4
Some checks are pending
Pyrofork / build (macos-latest, 3.10) (push) Waiting to run
Pyrofork / build (macos-latest, 3.11) (push) Waiting to run
Pyrofork / build (macos-latest, 3.12) (push) Waiting to run
Pyrofork / build (macos-latest, 3.13) (push) Waiting to run
Pyrofork / build (macos-latest, 3.9) (push) Waiting to run
Pyrofork / build (ubuntu-latest, 3.10) (push) Waiting to run
Pyrofork / build (ubuntu-latest, 3.11) (push) Waiting to run
Pyrofork / build (ubuntu-latest, 3.12) (push) Waiting to run
Pyrofork / build (ubuntu-latest, 3.13) (push) Waiting to run
Pyrofork / build (ubuntu-latest, 3.9) (push) Waiting to run
build(deps): bump sphinx-immaterial from 0.12.4 to 0.13.4
2025-07-09 22:18:02 +07:00
dependabot[bot]
cc4eb21b84
build(deps): bump sphinx-immaterial from 0.12.4 to 0.13.4
Bumps [sphinx-immaterial](https://github.com/jbms/sphinx-immaterial) from 0.12.4 to 0.13.4.
- [Release notes](https://github.com/jbms/sphinx-immaterial/releases)
- [Commits](https://github.com/jbms/sphinx-immaterial/compare/v0.12.4...v0.13.4)

---
updated-dependencies:
- dependency-name: sphinx-immaterial
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-09 15:11:37 +00:00
wulan17
12d9297c02
pyrofork: Bump version to 2.3.67
Some checks failed
Pyrofork / build (macos-latest, 3.10) (push) Has been cancelled
Pyrofork / build (macos-latest, 3.11) (push) Has been cancelled
Pyrofork / build (macos-latest, 3.12) (push) Has been cancelled
Pyrofork / build (macos-latest, 3.13) (push) Has been cancelled
Pyrofork / build (macos-latest, 3.9) (push) Has been cancelled
Pyrofork / build (ubuntu-latest, 3.10) (push) Has been cancelled
Pyrofork / build (ubuntu-latest, 3.11) (push) Has been cancelled
Pyrofork / build (ubuntu-latest, 3.12) (push) Has been cancelled
Pyrofork / build (ubuntu-latest, 3.13) (push) Has been cancelled
Pyrofork / build (ubuntu-latest, 3.9) (push) Has been cancelled
Signed-off-by: wulan17 <wulan17@komodos.id>
2025-06-25 19:16:02 +07:00
wulan17
52abec6e01
pyrofork: fix NoneType exception in filters
Signed-off-by: wulan17 <wulan17@komodos.id>
2025-06-25 19:15:12 +07:00
KurimuzonAkuma
fd4eb09f7a
Add get_call_members method
Signed-off-by: gudmeong <privatemymail758@gmail.com>
Signed-off-by: wulan17 <wulan17@komodos.id>
2025-06-25 19:15:12 +07:00
wulan17
dbcbadc400
pyrofork: Add back reverse parameter in get_chat_history
Signed-off-by: wulan17 <wulan17@komodos.id>
2025-06-25 19:15:12 +07:00
KurimuzonAkuma
b65279046e
Update upgraded gift regex
Signed-off-by: wulan17 <wulan17@komodos.id>
2025-06-25 19:15:12 +07:00
wulan17
9ff40dc90b
pyrofork: fix typo in KeyboardButton
Signed-off-by: wulan17 <wulan17@komodos.id>
2025-06-25 19:15:06 +07:00
wulan17
6f616ebed8
pyrofork: Bump version to 2.3.66
Some checks failed
Pyrofork / build (macos-latest, 3.10) (push) Has been cancelled
Pyrofork / build (macos-latest, 3.11) (push) Has been cancelled
Pyrofork / build (macos-latest, 3.12) (push) Has been cancelled
Pyrofork / build (macos-latest, 3.13) (push) Has been cancelled
Pyrofork / build (macos-latest, 3.9) (push) Has been cancelled
Pyrofork / build (ubuntu-latest, 3.10) (push) Has been cancelled
Pyrofork / build (ubuntu-latest, 3.11) (push) Has been cancelled
Pyrofork / build (ubuntu-latest, 3.12) (push) Has been cancelled
Pyrofork / build (ubuntu-latest, 3.13) (push) Has been cancelled
Pyrofork / build (ubuntu-latest, 3.9) (push) Has been cancelled
Signed-off-by: wulan17 <wulan17@komodos.id>
2025-06-10 22:48:38 +07:00
wulan17
e33d0bde65
pyrofork: fix typo
Signed-off-by: wulan17 <wulan17@komodos.id>
2025-06-10 22:45:51 +07:00
wulan17
e5b5ef5072
pyrofork: Bump version to 2.3.65
Signed-off-by: wulan17 <wulan17@komodos.id>
2025-06-10 22:38:59 +07:00
KurimuzonAkuma
a1e3f0f5db
Add transfer_business_account_stars method
Signed-off-by: wulan17 <wulan17@komodos.id>
2025-06-10 22:38:08 +07:00
KurimuzonAkuma
b6c615df7a
Add get_business_account_gifts and get_business_account_star_balance method
Signed-off-by: wulan17 <wulan17@komodos.id>
2025-06-10 22:38:08 +07:00
wulan17
a2f3a6a27b
pyrofork: Add reply_to_monoforum_id parameter to supported send_*
Signed-off-by: wulan17 <wulan17@komodos.id>
2025-06-10 22:38:08 +07:00
wulan17
bd5603a6a7
pyrofork: Add STARS_AMOUNT_INVALID exception
Signed-off-by: wulan17 <wulan17@komodos.id>
2025-06-10 22:38:07 +07:00
wulan17
1ed7add4dd
pyrofork: Add paid_message_price_changed field to Message
Signed-off-by: wulan17 <wulan17@komodos.id>
2025-06-10 22:38:07 +07:00
wulan17
068181682e
pyrofork: Add ALLOW_PAYMENT_REQUIRED_X exception
Signed-off-by: wulan17 <wulan17@komodos.id>
2025-06-10 22:38:07 +07:00
wulan17
c0dcac1fde
pyrofork: Add linked_forum field to Chat
Signed-off-by: wulan17 <wulan17@komodos.id>
2025-06-10 22:38:07 +07:00
wulan17
ffec107a2c
pyrofork: Drop Chat.is_forum and add new ChatType (FORUM)
Signed-off-by: wulan17 <wulan17@komodos.id>
2025-06-10 22:38:07 +07:00
wulan17
390786d92c
pyrofork: Add new ChatType (MONOFORUM)
Signed-off-by: wulan17 <wulan17@komodos.id>
2025-06-10 22:38:07 +07:00
KurimuzonAkuma
a9c4ef4c2e
pyrofork: Add privileges to RequestPeer buttons
Signed-off-by: wulan17 <wulan17@komodos.id>
2025-06-10 22:38:06 +07:00
KurimuzonAkuma
78467e30a2
pyrofork: Add search_gifts_for_resale, send_resold_gift, set_gift_resale_price, set_pinned_gifts methods
Co-authored-by: "ALi.w" <aminnimaj@gmail.com>
Signed-off-by: wulan17 <wulan17@komodos.id>
2025-06-10 22:38:06 +07:00
uNickz
3d343a49ff
pyrofork: Add file_name param on InputMedia
* Add file_name param on InputMedia

Add file_name param on:
 - InputMediaVideo
 - InputMediaAudio
 - InputMediaDocument

---------

Co-authored-by: KurimuzonAkuma <31959970+KurimuzonAkuma@users.noreply.github.com>
Signed-off-by: wulan17 <wulan17@komodos.id>
2025-06-10 22:38:06 +07:00
wulan17
83f3f52681
pyrofork: Refactor Message.link
Signed-off-by: wulan17 <wulan17@komodos.id>
2025-06-10 22:38:06 +07:00
wulan17
8880a92483
pyrofork: types: Wallpaper: Make document optional
Signed-off-by: wulan17 <wulan17@komodos.id>
2025-06-10 22:38:06 +07:00
wulan17
71c0a1176a
pyrofork: fix typo in filters
Signed-off-by: wulan17 <wulan17@komodos.id>
2025-06-10 22:38:06 +07:00
wulan17
ddf90f26cf
pyrofork: Update API schema to Layer 204
Signed-off-by: wulan17 <wulan17@komodos.id>
2025-06-10 22:37:58 +07:00
wulan17
907f03197a
pyrofork: Bump version to 2.3.64
Some checks failed
Pyrofork / build (macos-latest, 3.10) (push) Has been cancelled
Pyrofork / build (macos-latest, 3.11) (push) Has been cancelled
Pyrofork / build (macos-latest, 3.12) (push) Has been cancelled
Pyrofork / build (macos-latest, 3.13) (push) Has been cancelled
Pyrofork / build (macos-latest, 3.9) (push) Has been cancelled
Pyrofork / build (ubuntu-latest, 3.10) (push) Has been cancelled
Pyrofork / build (ubuntu-latest, 3.11) (push) Has been cancelled
Pyrofork / build (ubuntu-latest, 3.12) (push) Has been cancelled
Pyrofork / build (ubuntu-latest, 3.13) (push) Has been cancelled
Pyrofork / build (ubuntu-latest, 3.9) (push) Has been cancelled
Signed-off-by: wulan17 <wulan17@komodos.id>
2025-06-06 19:10:08 +07:00
Ling-ex
eb2b854ea6
Update Gift class: add ton_address and clarify owner info.
Signed-off-by: Ling-ex <nekochan@rizkiofficial.com>
Signed-off-by: wulan17 <wulan17@komodos.id>
2025-06-06 19:08:43 +07:00
Ling-ex
7d10a6fb9c
Fix: Register RawUpdateHandler and Refactor Dispatcher for Better Modularity.
Signed-off-by: Ling-ex <nekochan@rizkiofficial.com>
Signed-off-by: wulan17 <wulan17@komodos.id>
2025-06-06 19:08:42 +07:00
wulan17
315f61d1ed
pyrofork: fix enums typo in Message (#135)
Signed-off-by: wulan17 <wulan17@komodos.id>
2025-06-06 19:08:42 +07:00
wulan17
f6599d8ef4
pyrofork: Add missing Username docs
Signed-off-by: wulan17 <wulan17@komodos.id>
2025-06-06 19:08:41 +07:00
wulan17
47b054c996
pyrofork: filters: Add support for fragments usernames
Signed-off-by: wulan17 <wulan17@komodos.id>
2025-06-06 19:08:40 +07:00
wulan17
2a84c33607
pyrofork: Bump version to 2.3.63
Some checks failed
Pyrofork / build (macos-latest, 3.10) (push) Has been cancelled
Pyrofork / build (macos-latest, 3.11) (push) Has been cancelled
Pyrofork / build (macos-latest, 3.12) (push) Has been cancelled
Pyrofork / build (macos-latest, 3.13) (push) Has been cancelled
Pyrofork / build (macos-latest, 3.9) (push) Has been cancelled
Pyrofork / build (ubuntu-latest, 3.10) (push) Has been cancelled
Pyrofork / build (ubuntu-latest, 3.11) (push) Has been cancelled
Pyrofork / build (ubuntu-latest, 3.12) (push) Has been cancelled
Pyrofork / build (ubuntu-latest, 3.13) (push) Has been cancelled
Pyrofork / build (ubuntu-latest, 3.9) (push) Has been cancelled
Signed-off-by: wulan17 <wulan17@komodos.id>
2025-05-18 19:57:55 +07:00
wulan17
6c07a1b165
pyrofork: Add missing MessageOriginType enums docs
Signed-off-by: wulan17 <wulan17@komodos.id>
2025-05-18 19:57:28 +07:00
wulan17
2c3fb1caa6
Revert "fix: handle connection closure and retry logic in session management"
This reverts commit 4df4478a80.

Signed-off-by: wulan17 <wulan17@komodos.id>
2025-05-18 19:57:20 +07:00
wulan17
ce74587e4f
pyrofork: set Client.hide_password default value to True
Signed-off-by: wulan17 <wulan17@komodos.id>
2025-05-18 19:57:20 +07:00
wulan17
910e7fe730
pyrofork: Drop accept_terms_of_service and sign_up method
Signed-off-by: wulan17 <wulan17@komodos.id>
2025-05-18 19:57:19 +07:00
Ling-ex
7f5547a6a8
Add Ping method
Signed-off-by: Ling-ex <nekochan@rizkiofficial.com>
2025-05-18 19:57:19 +07:00
Ling-ex
04c25b760f
Add progress and progress_args parameters to Client.send_media_group and Message.reply_media_group
Signed-off-by: Ling-ex <nekochan@rizkiofficial.com>
2025-05-18 19:57:19 +07:00
wulan17
1b6d86ea77
pyrofork: Add is_frozen and frozen_icon field to User
Signed-off-by: wulan17 <wulan17@komodos.id>
2025-05-18 19:57:19 +07:00
wulan17
5e35c47b61
pyrofork: Refactor Qr Code Signin
Signed-off-by: wulan17 <wulan17@komodos.id>
2025-05-18 19:57:18 +07:00
wulan17
99e6005cf1
pyrofork: fix MESSAGE_IDS_EMPTY error on get_scheduled_messages method
Signed-off-by: wulan17 <wulan17@komodos.id>
2025-05-18 19:57:05 +07:00
57feed8b45
Merge pull request #131 from Ling-ex/main
Add group Parameter to the Decorator.on_error.
2025-05-18 19:54:47 +07:00
Ling-ex
d749f50140 Feat: Add group Parameter to the Decorator.on_error.
Signed-off-by: Ling-ex <nekochan@rizkiofficial.com>
2025-05-16 08:47:47 +00:00
wulan17
2992b6cc2f
pyrofork: Bump version to 2.3.62
Some checks failed
Pyrofork / build (macos-latest, 3.10) (push) Has been cancelled
Pyrofork / build (macos-latest, 3.11) (push) Has been cancelled
Pyrofork / build (macos-latest, 3.12) (push) Has been cancelled
Pyrofork / build (macos-latest, 3.13) (push) Has been cancelled
Pyrofork / build (macos-latest, 3.9) (push) Has been cancelled
Pyrofork / build (ubuntu-latest, 3.10) (push) Has been cancelled
Pyrofork / build (ubuntu-latest, 3.11) (push) Has been cancelled
Pyrofork / build (ubuntu-latest, 3.12) (push) Has been cancelled
Pyrofork / build (ubuntu-latest, 3.13) (push) Has been cancelled
Pyrofork / build (ubuntu-latest, 3.9) (push) Has been cancelled
Signed-off-by: wulan17 <wulan17@komodos.id>
2025-05-14 20:49:34 +07:00
wulan17
ac7ad7d3bc
pyrofork: fix on_error help
Signed-off-by: wulan17 <wulan17@komodos.id>
2025-05-14 20:48:31 +07:00
wulan17
40cd7badd5
pyrofork: Implement QrCode Login
Signed-off-by: wulan17 <wulan17@komodos.id>
2025-05-14 20:48:31 +07:00
wulan17
c0c76342d5
pyrofork: Add is_auto_translation_enabled field to Chat
Signed-off-by: wulan17 <wulan17@komodos.id>
2025-05-14 20:48:31 +07:00
KurimuzonAkuma
37d0e5ae72
Add delete_business_messages method
Signed-off-by: wulan17 <wulan17@komodos.id>
2025-05-14 20:48:31 +07:00
wulan17
52c13cdd48
pyrofork: Add missing parameter to Message.reply_photo and Message.reply_video
Signed-off-by: wulan17 <wulan17@komodos.id>
2025-05-14 20:48:31 +07:00
wulan17
e2e4f13946
pyrofork: Add view_once parameter to send_video and Message.reply_video
Signed-off-by: wulan17 <wulan17@komodos.id>
2025-05-14 20:48:31 +07:00
wulan17
beb5b5138b
pyrofork: Update API schema to Layer 203
Signed-off-by: wulan17 <wulan17@komodos.id>
2025-05-14 20:48:30 +07:00
wulan17
95e97b11f6
pyrofork: Update API schema to Layer 202
Signed-off-by: wulan17 <wulan17@komodos.id>
2025-05-14 20:48:30 +07:00
wulan17
548f404d67
pyrofork: Sync with telegramdesktop layer 201
Signed-off-by: wulan17 <wulan17@komodos.id>
2025-05-14 20:48:30 +07:00
Hitalo M.
4df4478a80
fix: handle connection closure and retry logic in session management
Signed-off-by: wulan17 <wulan17@komodos.id>
2025-05-14 20:48:30 +07:00
wulan17
4a8e73fc97
pyrofork: Adapt filters.forwarded to latest changes
Signed-off-by: wulan17 <wulan17@komodos.id>
2025-05-14 20:48:09 +07:00
wulan17
3a632d4590
pyrofork: Bump version to 2.3.61
Some checks failed
Pyrofork / build (macos-latest, 3.10) (push) Has been cancelled
Pyrofork / build (macos-latest, 3.11) (push) Has been cancelled
Pyrofork / build (macos-latest, 3.12) (push) Has been cancelled
Pyrofork / build (macos-latest, 3.13) (push) Has been cancelled
Pyrofork / build (macos-latest, 3.9) (push) Has been cancelled
Pyrofork / build (ubuntu-latest, 3.10) (push) Has been cancelled
Pyrofork / build (ubuntu-latest, 3.11) (push) Has been cancelled
Pyrofork / build (ubuntu-latest, 3.12) (push) Has been cancelled
Pyrofork / build (ubuntu-latest, 3.13) (push) Has been cancelled
Pyrofork / build (ubuntu-latest, 3.9) (push) Has been cancelled
Signed-off-by: wulan17 <wulan17@komodos.id>
2025-04-03 22:40:18 +07:00
wulan17
8655deb92c
pyrofork: moar cleanups
Signed-off-by: wulan17 <wulan17@komodos.id>
2025-04-03 22:31:37 +07:00
wulan17
b6fdbb0a07
pyrofork: types: MessageReactor: fix derps
Signed-off-by: wulan17 <wulan17@komodos.id>
2025-04-03 22:31:37 +07:00
wulan17
aac5425334
pyrofork: Bump version to 2.3.60
Some checks failed
Pyrofork / build (macos-latest, 3.10) (push) Has been cancelled
Pyrofork / build (macos-latest, 3.11) (push) Has been cancelled
Pyrofork / build (macos-latest, 3.12) (push) Has been cancelled
Pyrofork / build (macos-latest, 3.13) (push) Has been cancelled
Pyrofork / build (macos-latest, 3.9) (push) Has been cancelled
Pyrofork / build (ubuntu-latest, 3.10) (push) Has been cancelled
Pyrofork / build (ubuntu-latest, 3.11) (push) Has been cancelled
Pyrofork / build (ubuntu-latest, 3.12) (push) Has been cancelled
Pyrofork / build (ubuntu-latest, 3.13) (push) Has been cancelled
Pyrofork / build (ubuntu-latest, 3.9) (push) Has been cancelled
Signed-off-by: wulan17 <wulan17@komodos.id>
2025-03-29 00:26:26 +07:00
wulan17
3e24f006e0
pyrofork: Cleanup codes
Signed-off-by: wulan17 <wulan17@komodos.id>
2025-03-29 00:25:16 +07:00
wulan17
f5296145cd
pyrofork: Add support for parsing Reaction as channel
Signed-off-by: wulan17 <wulan17@komodos.id>
2025-03-29 00:24:52 +07:00
wulan17
24d3ea0e48
pyrofork: Update API schema to Layer 201
Signed-off-by: wulan17 <wulan17@komodos.id>
2025-03-29 00:24:47 +07:00
wulan17
70fc7d9eff
pyrofork: Refactor GiveawayResult
Signed-off-by: wulan17 <wulan17@komodos.id>
2025-03-29 00:24:42 +07:00
wulan17
8c47410bba
pyrofork: Refactor ShippingQuery
Signed-off-by: wulan17 <wulan17@komodos.id>
2025-03-29 00:24:35 +07:00
wulan17
c427601210
pyrofork: Refactor Giveaway
Signed-off-by: wulan17 <wulan17@komodos.id>
2025-03-29 00:24:29 +07:00
wulan17
aa1757676c
pyrofork: utils: Don't append message to messages_with_replies if reply_to_msg_id is None
Signed-off-by: wulan17 <wulan17@komodos.id>
2025-03-29 00:23:03 +07:00
wulan17
c4166957d3
Revert "Pyrofork: types: message: Fix cross chat reply parsing"
This reverts commit b4cb8ff17c.

Signed-off-by: wulan17 <wulan17@komodos.id>
2025-03-29 00:22:41 +07:00
KurimuzonAkuma
389a135883
Add ExternalReplyInfo
Signed-off-by: wulan17 <wulan17@komodos.id>
2025-03-29 00:21:47 +07:00
KurimuzonAkuma
6b28d305c0
Add MessageOriginImport
Signed-off-by: wulan17 <wulan17@komodos.id>
2025-03-29 00:21:26 +07:00
KurimuzonAkuma
7ae98099db
Refactor Message
- Refactor Message.quote
- Add forward_origin

Signed-off-by: wulan17 <wulan17@komodos.id>
2025-03-29 00:20:53 +07:00
KurimuzonAkuma
96917949a9
Make url parameter optional for send_web_page
Signed-off-by: wulan17 <wulan17@komodos.id>
2025-03-29 00:20:31 +07:00
wulan17
757b081eeb
pyrofork: Update API schema to Layer 200
Signed-off-by: wulan17 <wulan17@komodos.id>
2025-03-29 00:19:52 +07:00
wulan17
8074557922
pyrofork: Bump version to 2.3.59
Some checks failed
Pyrofork / build (macos-latest, 3.10) (push) Has been cancelled
Pyrofork / build (macos-latest, 3.11) (push) Has been cancelled
Pyrofork / build (macos-latest, 3.12) (push) Has been cancelled
Pyrofork / build (macos-latest, 3.13) (push) Has been cancelled
Pyrofork / build (macos-latest, 3.9) (push) Has been cancelled
Pyrofork / build (ubuntu-latest, 3.10) (push) Has been cancelled
Pyrofork / build (ubuntu-latest, 3.11) (push) Has been cancelled
Pyrofork / build (ubuntu-latest, 3.12) (push) Has been cancelled
Pyrofork / build (ubuntu-latest, 3.13) (push) Has been cancelled
Pyrofork / build (ubuntu-latest, 3.9) (push) Has been cancelled
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2025-03-08 20:53:11 +07:00
wulan17
7562d04596
pyrofork: docs: text-formatting: Add missings text format
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2025-03-08 20:52:10 +07:00
wulan17
149dd4a708
pyrofork: docs: text-formatting: Move up HTML section
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2025-03-08 20:52:10 +07:00
wulan17
4926eda4c5
pyrofork: docs: Add warning regarding markdown text formatting
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2025-03-08 20:52:10 +07:00
wulan17
c4b587b493
pyrofork: parser: markdown: Check if PRE is inside blockquote before unparsing it
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2025-03-08 20:52:09 +07:00
wulan17
1108c52f53
pyrofork: Add support for custom emoji in markdown unparser
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2025-03-08 20:52:09 +07:00
wulan17
fc84041397
pyrofork: Add offset_{date,id,topic} parameters to get_forum_topics method
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2025-03-08 20:52:09 +07:00
wulan17
71c39b8e6f
pyrofork: Add support for multi-line blockquote in markdown unparser
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2025-03-08 20:52:09 +07:00
wulan17
bec31032cc
pyrofork: Adapt markdown unparser from telethon
* The problem with current implementation is when we have nested markdown inside a url the markdown order is messed up.
for example link with bold text will be unparsed like this [**github](https://github.com**).

Signed-off-by: wulan17 <wulan17@nusantararom.org>
2025-03-08 20:52:08 +07:00
wulan17
5c9470fd4f
pyrofork: Fix nested url markdown parsing
* The problem with current implepementation is when we add another markdown inside an url markdown will not be parsed.
for example we add bold (**) markdown inside an url markdown, the url text show as `**text**` instead of making the text bold.

Signed-off-by: wulan17 <wulan17@nusantararom.org>
2025-03-08 20:52:08 +07:00
KurimuzonAkuma
13681302a0
Pyrofork: Add delete_chat_history method
Signed-off-by: Yasir Aris <git@yasir.id>
2025-03-08 20:52:08 +07:00
Yasir Aris M
c31d41e3d3
Pyrofork: Fix video cover
Signed-off-by: Yasir Aris <git@yasir.id>
2025-03-08 20:52:07 +07:00
Yasir Aris M
8528eea303
Pyrofork: Fix get_chat_gifts_count description
Signed-off-by: Yasir Aris <git@yasir.id>
2025-03-08 20:52:07 +07:00
Yasir Aris M
39cd79794e
Pyrofork: Update get_chat_gifts description
Signed-off-by: Yasir Aris <git@yasir.id>
2025-03-08 20:52:07 +07:00
KurimuzonAkuma
ea8ff2806f
Pyrofork: Add message.content property
Signed-off-by: Yasir Aris <git@yasir.id>
2025-03-08 20:52:07 +07:00
wulan17
e33a9d95df
pyrofork: Update API schema to Layer 199
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2025-03-08 20:52:06 +07:00
wulan17
ee3e9002fc
pyrofork: Add get_chat_forum_topics_count method
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2025-03-08 20:52:06 +07:00
wulan17
4e200e2a5d
pyrofork: Add ForumTopicDeleted
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2025-03-08 20:51:58 +07:00
Yasir Aris M
ecf469973e
pyrofork: Bump version to 2.3.58
Signed-off-by: Yasir Aris <git@yasir.id>
2025-02-03 12:54:05 +07:00
KurimuzonAkuma
5e72850eee pyrofork: Fix send_gift method
Signed-off-by: Yasir <git@yasir.id>
2025-02-03 05:40:32 +00:00
Yasir Aris M
ad0aed4cf3
Pyrofork: Fix transcribed_audio method
Signed-off-by: Yasir Aris M <git@yasirdev.my.id>
2025-02-03 12:11:36 +07:00
shriMADhav U k
5c1c72f068 Pyrofork: Add cover and start_timestamp in send_video, reply_video
Signed-off-by: Yasir <git@yasir.id>
2025-02-03 04:44:29 +00:00
KurimuzonAkuma
7662cc164f Pyrofork: Sync Star Gift With Layer 198
Signed-off-by: Yasir <git@yasir.id>
2025-02-03 04:44:29 +00:00
KurimuzonAkuma
2923328bbb Pyrofork: Sync emoji status with layer 198
Signed-off-by: Yasir <git@yasir.id>
2025-02-03 04:44:29 +00:00
KurimuzonAkuma
e9eaa48650 Pyrofork: Add get_upgraded_gift method
Signed-off-by: Yasir <git@yasir.id>
2025-02-03 04:44:29 +00:00
Yasir Aris M
03c2f5ff8c
Merge pull request #110 from peerids/main
fix(pyrogram.utils.get_reply_to): function parameters
2025-01-29 08:19:06 +07:00
Yasir Aris M
3e504edcc1 Pyrofork: Add message_effect_id and allow_paid_broadcast copy_media_group method 2025-01-29 01:06:38 +00:00
Yasir Aris M
8f9797f57c
pyrofork: Add has_spoiler in get_input_media_from_file_id 2025-01-29 07:14:39 +07:00
n/a
361acdbfd7 fix(pyrogram.methods.messages.copy_media_group): reply_to: miss parameter client 2025-01-29 05:15:32 +07:00
n/a
4a50a9183d fix(pyrogram.utils.get_reply_to): function parameters 2025-01-29 04:55:55 +07:00
wulan17
0f65486aba
pyrofork: Bump version to 2.3.57
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2025-01-26 20:43:52 +07:00
wulan17
fabe0464fa
pyrofork: Add missing allow_paid_broadcast and message_effect_id parameters to Message.reply_media_group
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2025-01-26 20:42:27 +07:00
wulan17
0b220def26
pyrofork: Add transcribe_audio method
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2025-01-26 20:42:27 +07:00
wulan17
3e36412e68
pyrofork: Add get_similar_bot method
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2025-01-26 20:42:26 +07:00
wulan17
3180267107
pyrofork: types: EmojiStatus: Sync with layer 198
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2025-01-26 20:42:26 +07:00
wulan17
377fda434b
pyrofork: Fix Message.react returns
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2025-01-26 20:42:26 +07:00
Yasir Aris M
ca5c406a00
pyrofork: Update API schema to Layer 197-198
Signed-off-by: Yasir Aris M <git@yasirdev.my.id>
2025-01-26 20:42:26 +07:00
wulan17
276bc0affd
Revert "Add bound method stop() to the Poll object"
This reverts commit 165ade92d5.

Signed-off-by: wulan17 <wulan17@nusantararom.org>
2025-01-26 20:42:26 +07:00
wulan17
60533eb92c
pyrofork: Add message_effect_id parameter to send_invoice (#109)
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2025-01-26 20:42:25 +07:00
wulan17
885a832aa3
pyrofork: filters: topic: Add support for general topic
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2025-01-26 20:42:25 +07:00
a653065774
Merge pull request #102 from msx98/getdialogs-catch-peeridinvalid
Catch `PeerIdInvalid` in `get_dialogs`
2025-01-26 20:40:41 +07:00
Yasir Aris M
5676006a10
v2.3.56: pyrofork: Bump version to 2.3.56 2025-01-11 06:54:57 +07:00
Yasir Aris M
71f1147b65
pyrofork: Fix attribute error 2025-01-10 22:38:25 +07:00
Yasir Aris M
8db18a7734
pyrofork: Bump version to 2.3.55
Signed-off-by: Yasir Aris <git@yasir.id>
2025-01-10 17:34:03 +07:00
Yasir Aris M
d82a3fb1f7 pyrofork: Changed send_reaction description
Now you can react to service messages

Signed-off-by: Yasir <git@yasir.id>
2025-01-10 10:30:11 +00:00
Yasir Aris M
2e0ec55dd3 pyrofork: Update set_profile_photo notes
Signed-off-by: Yasir <git@yasir.id>
2025-01-10 10:30:11 +00:00
KurimuzonAkuma
f767fd3e3a pyrofork: Add BotVerification Types
Signed-off-by: Yasir <git@yasir.id>
2025-01-10 10:30:11 +00:00
KurimuzonAkuma
b12b4a62f4 pyrofork: Fix forum topic type hints
Signed-off-by: Yasir <git@yasir.id>
2025-01-10 10:30:11 +00:00
KurimuzonAkuma
7cda52ac39 pyrofork: Add get_stars_balance Method
Signed-off-by: Yasir <git@yasir.id>
2025-01-10 10:30:11 +00:00
Yasir Aris M
7404c46d7d pyrofork: Fix some missing docs
Signed-off-by: Yasir <git@yasir.id>
2025-01-10 10:30:11 +00:00
KurimuzonAkuma
14fb99cf77 pyrofork: Refactor Star Gift Based On New Layer
Signed-off-by: Yasir <git@yasir.id>
2025-01-10 10:30:11 +00:00
Yasir Aris M
9e101ef4d9
Merge pull request #107 from TheRealMal/main
fix: attributes parsing
2025-01-06 19:18:29 +07:00
therealmal
a04c91db31 fix: attributes parsing 2025-01-05 00:08:57 +03:00
Yasir Aris
8ceec293ba pyrofork: Bump version to 2.3.54
Signed-off-by: Yasir Aris <git@yasir.id>
2025-01-04 22:17:33 +07:00
Yasir Aris
6c538f026d pyrofork: Add pay_for_upgrade in send_gift method
Signed-off-by: Yasir Aris <git@yasir.id>
2025-01-04 16:28:42 +07:00
Yasir Aris
1ddc2d268b pyrofork: Add upgrade_star_count and is_for_birthday in Gift
Signed-off-by: Yasir Aris <git@yasir.id>
2025-01-04 16:28:42 +07:00
Yasir Aris
5c93020bbe pyrofork: Refactor StarGift and remove duplicate types
Signed-off-by: Yasir Aris <git@yasir.id>

pyrofork: Refactor StarGift and remove duplicate types

Signed-off-by: Yasir Aris <git@yasir.id>
2025-01-04 16:28:42 +07:00
Yasir Aris
1955de7a20 pyrofork: Add reply_to_story_id to copy_media_group and send_inline_bot_result method
Signed-off-by: Yasir Aris <git@yasir.id>
2025-01-04 16:28:41 +07:00
Yasir Aris
2bb299c163 pyrofork: Add start bot method
Signed-off-by: Yasir Aris <git@yasir.id>
2025-01-04 16:28:41 +07:00
KurimuzonAkuma
8e7e5fb9ff pyrofork: update StarGift type to new layer
Signed-off-by: Yasir Aris <git@yasir.id>
2025-01-04 16:28:41 +07:00
Yasir Aris
e67a016828 pyrofork: Update API schema to Layer 196
Signed-off-by: Yasir Aris <git@yasir.id>
2025-01-04 16:28:41 +07:00
Yasir Aris M
aaf9c0cd3d pyrofork: Fix typo on purchased paid media parser
Signed-off-by: Yasir Aris M <git@yasir.id>
Signed-off-by: Yasir Aris <git@yasir.id>
2025-01-04 16:28:41 +07:00
Yasir Aris M
5187bae266 pyrofork: Fix stop_poll method
Signed-off-by: Yasir Aris M <git@yasir.id>
Signed-off-by: Yasir Aris <git@yasir.id>
2025-01-04 16:28:41 +07:00
XiaoCai
ecc15f67a4
pyrofork: fix(send_media_group.py) Fixed media.caption_entities parameter not working (#104)
* fix(send_media_group.py) Fixed media.caption_entities parameter not working.

* chore(send_media_group.py): simplify parse_text_entities handling

Refactored to use ** unpacking directly in raw.types.InputSingleMedia, reducing variable assignments.
2025-01-02 14:07:29 +07:00
Yasir Aris M
56e9173579 Merge branch 'main' of https://github.com/Mayuri-Chan/Pyrofork 2024-12-23 07:36:46 +07:00
Yasir Aris M
945ff8b642 pyrofork: Fixed some missing docs
Signed-off-by: Yasir Aris M <git@yasirdev.my.id>
2024-12-23 07:32:37 +07:00
Yasir Aris M
21a3045890 pyrofork: Bump version to 2.3.53
Signed-off-by: Yasir <yasiramunandar@gmail.com>
2024-12-21 00:34:10 +00:00
Yasir Aris M
481817649b pyrofork: Add Error handler
Signed-off-by: Yasir Aris M <git@yasirdev.my.id>
2024-12-21 00:30:11 +00:00
Yasir Aris M
bd46ff3977 pyrofork: Add message_thread_id parameter to unpin_all_chat_messages()
Signed-off-by: Yasir Aris M <git@yasirdev.my.id>
2024-12-21 00:30:11 +00:00
Yasir Aris M
b21db6f931 pyrofork: Add the parameter business_connection_id to the methods pin_chat_message() and unpin_chat_message(), allowing bots to manage pinned messages on behalf of a business account
Signed-off-by: Yasir Aris M <git@yasirdev.my.id>
2024-12-21 00:30:11 +00:00
KurimuzonAkuma
6dcb6bfa67 pyrofork: Add custom emojis to markdown
Signed-off-by: Yasir Aris M <git@yasirdev.my.id>
2024-12-21 00:30:11 +00:00
KurimuzonAkuma
252882851e pyrofork: Add filters support for raw handler
Signed-off-by: Yasir Aris M <git@yasirdev.my.id>
2024-12-21 00:30:11 +00:00
KurimuzonAkuma
ae3bc516fb pyrofork: Add forward_media_group method
Signed-off-by: Yasir Aris M <git@yasirdev.my.id>
2024-12-21 00:30:11 +00:00
Shrimadhav U K
5b79294276 pyrofork: Add get_owned_bots
Signed-off-by: Yasir Aris M <git@yasirdev.my.id>
2024-12-21 00:30:11 +00:00
Yasir Aris M
08af7a1b66 pyrofork: Fix missing argument on Message
Signed-off-by: Yasir Aris M <git@yasirdev.my.id>
2024-12-21 00:30:11 +00:00
shriMADhav U k
d3c945f6b6 pyrofork: Add alternative_videos to Message 2024-12-21 00:30:11 +00:00
Yasir Aris M
f8103a2890 pyrofork: Update API schema to Layer 195
Signed-off-by: Yasir Aris M <git@yasirdev.my.id>
2024-12-21 00:30:11 +00:00
wulan17
f6f003d25a
pyrofork: Bump version to 2.3.52
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-11-30 01:40:56 +07:00
wulan17
bba87d6e52
pyrofork: Add reply_to_chat_id parameter to copy_message method
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-11-30 01:40:26 +07:00
wulan17
c9bbeec525
pyrofork: Refactor Poll
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-11-30 01:40:20 +07:00
msx98
dd9ae86d8b Catch PeerIdInvalid in get_dialogs 2024-11-29 13:38:29 +02:00
d7018d8ed1
Merge pull request #98 from Mayuri-Chan/dependabot/pip/sphinx-immaterial-0.12.4
build(deps): bump sphinx-immaterial from 0.12.3 to 0.12.4
2024-11-29 14:29:44 +07:00
wulan17
efc0272186
pyrofork: Bump version to 2.3.51
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-11-25 23:40:43 +07:00
03226965ab
Merge pull request #100 from cactoe/main
fix: resolve TypeError by correctly positioning invert_media parameter
2024-11-25 23:40:03 +07:00
n/a
45b47af9b2 fix(py3.9): use List from typing for type hinting instead of built-in list 2024-11-25 07:14:37 +07:00
n/a
ab8f854385 fix: resolve TypeError by correctly positioning invert_media parameter 2024-11-23 17:10:53 +07:00
wulan17
6f5bd1392b
pyrofork: Bump version to 2.3.50
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-11-22 21:55:02 +07:00
wulan17
1bcf2f7be6
pyrofork: fix search_message
* TypeError: Search.__init__() got an unexpected keyword argument 'thread_id'

Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-11-22 21:54:17 +07:00
wulan17
efce392266
pyrofork: Add missing allow_paid_broadcast parameter to copy_message and forward_messages method
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-11-22 21:49:15 +07:00
wulan17
5dda91d3b0
pyrofork: Bump version to 2.3.49
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-11-21 23:38:20 +07:00
wulan17
0c23296be5
pyrofork: Update API schema to Layer 194
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-11-21 23:38:10 +07:00
wulan17
4e909508e5
pyrofork: Add thread_id parameter to search_messages and search_messages_count methods
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-11-21 23:32:55 +07:00
KurimuzonAkuma
4ced5fbd8b
pyrofork: Add star_gift in Message
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-11-21 23:32:55 +07:00
shriMADhav U k
52f1b97c84
pyrofork: Add first_send_date, last_send_date, is_sold_out to Gift
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-11-21 23:32:54 +07:00
KurimuzonAkuma
680918eed7
pyrofork: Steal Star Gifts changes from KurimuzonAkuma fork (#100)
Co-authored-by: Shrimadhav U K <SpEcHiDe@users.noreply.github.com>
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-11-21 23:32:54 +07:00
Shrimadhav U K
3426ad59a2
pyrofork: Add allow_paid_broadcast parameter to methods.
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-11-21 23:32:54 +07:00
wulan17
cf67f9534c
pyrofork: Add invert_media parameter to edit_inline_{caption,message} methods
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-11-21 23:32:53 +07:00
shriMADhav U k
b437bc1c46
pyrofork: Add raw attribute to ChatMemberUpdated
Co-authored-by: wulan17 <wulan17@nusantararom.org>
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-11-21 23:32:53 +07:00
shriMADhav U k
307b700df3
Added the field via_chat_folder_invite_link to the class ChatMemberUpdated.
Bot API 6.7
April 21, 2023

Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-11-21 23:32:52 +07:00
wulan17
91e7506a6a
pyrofork: Update API schema to Layer 193
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-11-21 23:32:52 +07:00
wulan17
591cd3ac86
pyrofork: Parse send_inline_bot_result result
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-11-21 23:32:51 +07:00
wulan17
7726e22161
pyrofork: Update edit_message_media and edit_inline_media description
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-11-21 23:32:51 +07:00
wulan17
072cc0cead
pyrofork: Update sphinx-immaterial to v0.12.4
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-11-21 23:32:51 +07:00
wulan17
4bcc690083
pyrofork: Remove unused animated and videos field from stickerset
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-11-21 23:32:50 +07:00
wulan17
db562461ad
pyrofork: Update API schema to Layer 192
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-11-21 23:32:50 +07:00
wulan17
261490f63b
pyrofork: Update API schema to Layer 191
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-11-21 23:32:49 +07:00
wulan17
e5ae90c335
pyrofork: Update API schema to Layer 190
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-11-21 23:32:36 +07:00
wulan17
f990b1e7f9
pyrofork: Update documentation url
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-10-13 01:54:55 +07:00
dependabot[bot]
2130f089d6
build(deps): bump sphinx-immaterial from 0.12.3 to 0.12.4
Bumps [sphinx-immaterial](https://github.com/jbms/sphinx-immaterial) from 0.12.3 to 0.12.4.
- [Release notes](https://github.com/jbms/sphinx-immaterial/releases)
- [Commits](https://github.com/jbms/sphinx-immaterial/compare/v0.12.3...v0.12.4)

---
updated-dependencies:
- dependency-name: sphinx-immaterial
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-11 22:55:10 +00:00
wulan17
5086c9ccc3
pyrofork: Publish packages using Trusted Publisher
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-10-08 22:25:04 +07:00
wulan17
6e66a7d4b2
pyrofork: Bump version to 2.3.48
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-10-08 21:59:21 +07:00
wulan17
a6046806b8
workflows: Update checkout and setup-python
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-10-08 21:58:39 +07:00
wulan17
6e6a689953
pyrofork: Python 3.13 support
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-10-08 21:56:56 +07:00
KurimuzonAkuma
f30aa0077a
Add get_user_star_gifts method
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-10-08 21:56:46 +07:00
KurimuzonAkuma
0a6cc8b5a4
Add show_star_gift and hide_star_gift method
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-10-08 21:56:45 +07:00
KurimuzonAkuma
f23f450c62
Add convert_star_gift method
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-10-08 21:56:45 +07:00
KurimuzonAkuma
d4649275e9
Add send_star_gift method
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-10-08 21:56:45 +07:00
KurimuzonAkuma
bb96ca8597
Add get_star_gifts method
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-10-08 21:56:45 +07:00
wulan17
e4968df4c9
pyrofork: Move some method and types to payments category
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-10-08 21:56:45 +07:00
KurimuzonAkuma
b152bd9c84
Add new apply_gift_code, check_gift_code, get_payment_form, and send_payment_form methods
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-10-08 21:56:45 +07:00
wulan17
4e823b153e
pyrofork: Update API schema to Layer 189
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-10-08 21:56:44 +07:00
wulan17
95eba2ce77
pyrofork: Add get_message_read_participants method
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-10-08 21:56:44 +07:00
wulan17
a6b69228e8
pyrofork: fix plugins loader error on windows
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-10-08 21:56:27 +07:00
wulan17
faef0b0699
pyrofork: Update funding links
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-10-08 21:56:13 +07:00
266fc738b6
Merge pull request #97 from Mayuri-Chan/dependabot/pip/sphinx-immaterial-0.12.3
build(deps): bump sphinx-immaterial from 0.12.2 to 0.12.3
2024-10-08 21:42:20 +07:00
dependabot[bot]
d594fe58cb
build(deps): bump sphinx-immaterial from 0.12.2 to 0.12.3
Bumps [sphinx-immaterial](https://github.com/jbms/sphinx-immaterial) from 0.12.2 to 0.12.3.
- [Release notes](https://github.com/jbms/sphinx-immaterial/releases)
- [Commits](https://github.com/jbms/sphinx-immaterial/compare/v0.12.2...v0.12.3)

---
updated-dependencies:
- dependency-name: sphinx-immaterial
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-07 22:24:46 +00:00
wulan17
923ad51dd7
pyrofork: Bump version to 2.3.46
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-09-25 20:09:48 +07:00
Shrimadhav U K
c3df58b4c7
Add emoji to send_sticker and reply_sticker.
KurimuzonAkuma/pyrogram#86

Co-authored-by: Surendra9123 <Surendra9123@users.noreply.github.com>
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-09-25 20:08:33 +07:00
wulan17
2d83118f0f
pyrofork: Remove get_nearby_chats method
Removed by telegram

Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-09-25 20:08:33 +07:00
wulan17
3ee16dac4e
pyrofork: Ignore excluded plugins [2/2]
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-09-25 20:08:33 +07:00
wulan17
45e2872fab
pyrofork: drop python 3.8 support
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-09-25 20:08:33 +07:00
wulan17
74376f8da5
pyrofork: Add copy_text field to InlineKeyboardButton
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-09-25 20:08:33 +07:00
wulan17
44d4c0ff55
pyrofork: Update API schema to Layer 188
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-09-25 20:08:23 +07:00
wulan17
65190eb195
pyrofork: Bump version to 2.3.46
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-09-13 22:43:29 +07:00
RabbitFoRed
a403d83f7e
pyrofork: Ignore excluded plugins
currently if you specify a plugin to exclude in pyrogram
the client first imports it (caea59cc17/pyrogram/client.py (L874))
and add_handler() (caea59cc17/pyrogram/client.py (L880))
and then after this it uses remove_handler() (caea59cc17/pyrogram/client.py (L948))
this usually works well in most case,
but in a few case if the module to exclude has an error,
this is not handled and stops the program,
so need to fix the modules even if it not the target of interest (as it is in exclude=[])

Co-authored-by: wulan17 <wulan17@nusantararom.org>
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-09-13 22:41:47 +07:00
wulan17
6543fa11b6
pyrofork: Add InputPeer support for utils.get_raw_peer_id and utils.get_peer_id
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-09-13 22:41:47 +07:00
wulan17
57155cbdfa
pyrofork: fix typo in set_chat_photo
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-09-13 22:41:47 +07:00
wulan17
caea59cc17
pyrofork: Bump version to 2.3.45
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-09-07 20:52:42 +07:00
shriMADhav U k
63db641f59
Try to return the service message (when applicable) in the set_chat_photo
- Documentation Fixes

Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-09-07 20:52:12 +07:00
wulan17
f7e1f214c6
pyrofork: Add emoji and emoji_background parameters to set_profile_photo method
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-09-07 20:52:12 +07:00
wulan17
c2cd506be9
pyrofork: Add emoji and emoji_background parameters to Chat.set_photo bound method
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-09-07 20:52:12 +07:00
KurimuzonAkuma
01e200e8ce
Restart client after receiving unknown constructor
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-09-07 20:52:11 +07:00
KurimuzonAkuma
4e2d553f35
Ignore PersistentTimestamp errors
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-09-07 20:52:11 +07:00
KurimuzonAkuma
ee8f11e2a0
Extract recovering gaps into a separate method
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-09-07 20:52:11 +07:00
wulan17
930da9b858
pyrofork: fix PreCheckoutQuery not defined in class ShippingQuery
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-09-07 20:52:10 +07:00
KurimuzonAkuma
d70927e5a2
Add on_purchased_paid_media decorator
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-09-07 20:52:10 +07:00
wulan17
f07d6563e3
pyrofork: Add stars field to class GiveawayLaunched
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-09-07 20:52:09 +07:00
wulan17
76deb77f1c
pyrofork: Add stars field to class Giveaway
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-09-07 20:52:09 +07:00
wulan17
02eed79861
pyrofork: Add stars and is_star_giveaway field to class GiveawayResult
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-09-07 20:52:09 +07:00
shriMADhav U k
2faae08064
Added the ability to specify a payload in send_paid_media which is not used currently
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-09-07 20:52:09 +07:00
wulan17
e5327d2216
pyrofork: Add support to set emoji as Chat Photo
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-09-07 20:52:08 +07:00
wulan17
11836faab7
pyrofork: Add is_winners_hidden field to class Giveaway
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-09-07 20:52:08 +07:00
wulan17
2a70654537
pyrofork: Update API schema to Layer 187
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-09-07 20:52:02 +07:00
RabbitFoRed
d062b6795f
pyrofork: fix "Ignoring non-existent module error" warning when using a paths string as plugin root dir. (#94)
example code:
app = Client(...., plugins=dict(root="bot/plugins", exlude=['toremove']))

warning:
pyrogram.client - [UNLOAD] Ignoring non-existent module "bot/plugins.toremove"
2024-09-07 20:50:12 +07:00
wulan17
053232b15a
pyrofork: Bump version to 2.3.44
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-09-02 23:09:20 +07:00
wulan17
b412622bc7
pyrofork: Fix get_chat_photo incase photo not found and limit param is enabled
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-09-02 23:08:46 +07:00
wulan17
74699d8bdf
pyrofork: types: Animation: Add missing import
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-09-02 23:08:46 +07:00
wulan17
489337d5d0
pyrofork: fix Message.translate docs
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-09-02 23:08:46 +07:00
wulan17
d9c6286044
pyrofork: Add example(s) to translate_message_text method
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-09-02 23:08:46 +07:00
wulan17
755d23028b
pyrofork: fix typos in decorators docs
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-09-02 23:08:46 +07:00
wulan17
430cc9f534
pyrofork: Add reply_to_chat_id field to class Message
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-09-02 23:08:46 +07:00
wulan17
2ebfb80761
pyrofork: fix typos in Bound Method docs
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-09-02 23:08:36 +07:00
wulan17
37e39bd6ce
pyrofork: Bump version to 2.3.43
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-08-25 16:00:26 +07:00
wulan17
7a063e4a72
pyrofork: refactor add_sticker_to_set and create_sticker_set
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-08-25 15:58:19 +07:00
Zaid _
8e95ffcd6c
Pyrofork: Add translate methods
Signed-off-by: Yasir Aris M <git@yasirdev.my.id>
2024-08-25 15:03:00 +07:00
Yasir Aris M
8d8768cce4 Pyrofork: Add known error for subscription link 2024-08-24 23:03:39 +07:00
Yasir Aris M
efe3d90718 Pyrofork: Fix generate subcription invite link 2024-08-24 22:51:20 +07:00
wulan17
d3ffd68690
pyrofork: Bump version to 2.3.42
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-08-21 16:15:44 +07:00
wulan17
1d0ad21328
pyrofork: fix peer_id saved as raw id in usernames table
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-08-21 16:12:48 +07:00
wulan17
375d165a9c
pyrofork: Bump version to 2.3.41
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-08-19 18:58:34 +07:00
wulan17
a598ab6144
pyrofork: Add some missings service messages
CHAT_THEME_UPDATED
CHAT_WALLPAPER_UPDATED
CONTACT_REGISTERED
GIFT_CODE
SCREENSHOT_TAKEN

Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-08-19 18:58:10 +07:00
Shrimadhav U K
9697a7f3cd
Add chat_join_type to differentiate on three different types of new_chat_members
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-08-19 18:58:09 +07:00
wulan17
ecfa97f115
pyrofork: Add top_reactors field to class MessageReactions
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-08-19 18:58:09 +07:00
wulan17
3061115d57
pyrofork: Add send_paid_reaction method
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-08-19 18:58:09 +07:00
wulan17
2317643727
pyrofork: methods: edit_message_media: parse caption_entities field from InputMedia
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-08-19 18:58:09 +07:00
wulan17
56efb88047
pyrofork: Add subscription_expired, subscription_period, and subscription_price field to class ChatInviteLink
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-08-19 18:58:09 +07:00
wulan17
8854710399
pyrofork: Add subscription_period and subscription_price parameters to export_chat_invite and Chat.export_invite_link
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-08-19 18:58:08 +07:00
wulan17
889c32ca2b
pyrofork: subscription_until_date field to class ChatMember
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-08-19 18:58:08 +07:00
wulan17
a138170e1e
pyrofork: Add is_paid_reactions_available, subscription_until_date field to class Chat
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-08-19 18:58:08 +07:00
wulan17
945290692e
pyrofork: Add privacy_policy_url field to class BotInfo
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-08-19 18:58:08 +07:00
wulan17
cbd632c600
pyrofork: Refactor Reactions
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-08-19 18:58:07 +07:00
wulan17
b6d9e2c782
pyrofork: Add support for sending paid media using business bot
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-08-19 18:58:07 +07:00
wulan17
4112298666
pyrofork: Add support for question/options entities in Message.reply_poll bound method
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-08-19 18:58:07 +07:00
wulan17
90dc694588
pyrofork: Add additional_price field to class Giveaway
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-08-19 18:58:07 +07:00
wulan17
4ac0fcc35f
pyrofork: Update API schema to Layer 186
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-08-19 18:58:03 +07:00
wulan17
22bc0140e9
pyrofork: Bump version to 2.3.40
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-08-07 19:54:54 +07:00
wulan17
d0a70e2929
pyrofork: Add support for non-iterable prices in create_invoice_link method
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-08-07 19:54:08 +07:00
wulan17
ce382c2f11
pyrofork: fix AttributeError: 'KeyboardButtonRequestPeer' object has no attribute '*_requested'
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-08-07 19:49:54 +07:00
wulan17
b4d2d30fca
pyrofork: fix typo in class Chat
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-08-07 19:43:27 +07:00
ccfac93e84
Merge pull request #89 from MrMissx/main
fix(promote_chat_member): add fallback empty string rank
2024-08-07 19:42:13 +07:00
mrmissx
74f5a3fe29
fix(promote_chat_member): add fallback empty string rank
rank value error when called via `Chat.promote_member`
2024-08-03 21:35:12 +07:00
wulan17
daf6f91600
pyrofork: Bump version to 2.3.39
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-08-03 01:25:55 +07:00
wulan17
e0e5bdb2cd
pyrofork: Update send_invoice doc
also add support for non-iterable prices

Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-08-03 01:25:37 +07:00
f030f00e9d
Merge pull request #88 from Sahidmalik001/patch-1
Fix error in `RequestedChats` class parsing method  Corrected the par…
2024-08-03 01:02:47 +07:00
Sahid malik
1abd0673b7
Fix error in RequestedChats class parsing method Corrected the parsing logic in _parse method to handle different types of peer objects. Updated list handling for chats and users to ensure they are correctly populated. 2024-08-02 22:45:40 +05:30
wulan17
69179879fc
pyrofork: Bump version to 2.3.38
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-08-02 19:59:51 +07:00
wulan17
569c515732
pyrofork: Refactor request_chat/channel/user
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-08-02 19:56:51 +07:00
wulan17
ee8c19d3f4
pyrofork: Add delete_scheduled_messages method
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-08-02 19:56:51 +07:00
wulan17
b081928452
pyrofork: Add get_scheduled_messages method
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-08-02 19:56:45 +07:00
wulan17
e97f441a41
pyrofork: Move some methods and types to business category
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-08-02 19:48:39 +07:00
wulan17
780ea9fd64
pyrofork: fix AvailableEffect doc
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-08-02 19:48:39 +07:00
wulan17
56621a6f4d
pyrofork: Add get_stars_transaction_by_id method
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-08-02 19:48:39 +07:00
wulan17
c880277a4e
pyrofork: Add get_stars_transaction method
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-08-02 19:48:38 +07:00
wulan17
280248f243
pyrofork: Add active_users field to class User
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-08-02 19:48:38 +07:00
wulan17
2e4b2d3348
pyrofork: Update API schema to Layer 185
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-08-02 19:48:38 +07:00
wulan17
5a9c11934a
pyrofork: fix send_invoice examples
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-08-02 19:48:38 +07:00
shriMADhav U k
9669d62562
pyrofork: Add create_invoice_link
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-08-02 19:48:38 +07:00
shriMADhav U k
7c81723649
pyrofork: Add get_active_sessions
Stealing IDEA from hydrogram/hydrogram#41

Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-08-02 19:48:37 +07:00
wulan17
9dbd784e7c
pyrofork: fix get_stories doc
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-08-02 19:48:37 +07:00
wulan17
d906970d99
pyrofork: Add join_requests_count field to class Chat
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-08-02 19:48:37 +07:00
wulan17
f1e2b493b6
pyrofork: Add join_request parameter to get_chat_members_count
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-08-02 19:48:37 +07:00
wulan17
bed95d6ec2
pyrofork: types: Message: topics -> topic
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-08-02 19:48:37 +07:00
wulan17
116a353477
pyrofork: Add missing parameters
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-08-02 19:48:36 +07:00
87e0314f4a
Merge pull request #87 from Mayuri-Chan/dependabot/pip/sphinx-immaterial-0.12.2
build(deps): bump sphinx-immaterial from 0.12.1 to 0.12.2
2024-07-31 09:37:40 +07:00
dependabot[bot]
73da5c1aef
build(deps): bump sphinx-immaterial from 0.12.1 to 0.12.2
Bumps [sphinx-immaterial](https://github.com/jbms/sphinx-immaterial) from 0.12.1 to 0.12.2.
- [Release notes](https://github.com/jbms/sphinx-immaterial/releases)
- [Commits](https://github.com/jbms/sphinx-immaterial/compare/v0.12.1...v0.12.2)

---
updated-dependencies:
- dependency-name: sphinx-immaterial
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-30 22:34:35 +00:00
9510ff9fdb
Merge pull request #85 from Mayuri-Chan/dependabot/pip/sphinx-immaterial-0.12.1
build(deps): bump sphinx-immaterial from 0.12.0 to 0.12.1
2024-07-25 20:42:56 +07:00
9785e96ac4
Merge pull request #86 from martin-mueller-cemas/fix-doc-urls
Fix documentation URLs
2024-07-25 19:08:44 +07:00
Martin Müller
4c99132f3b Fix documentation URLs 2024-07-25 12:44:47 +02:00
dependabot[bot]
2abb3543ce
build(deps): bump sphinx-immaterial from 0.12.0 to 0.12.1
Bumps [sphinx-immaterial](https://github.com/jbms/sphinx-immaterial) from 0.12.0 to 0.12.1.
- [Release notes](https://github.com/jbms/sphinx-immaterial/releases)
- [Commits](https://github.com/jbms/sphinx-immaterial/compare/v0.12.0...v0.12.1)

---
updated-dependencies:
- dependency-name: sphinx-immaterial
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-23 22:58:50 +00:00
wulan17
3120fb2340
pyrofork: Bump version to 2.3.37
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-07-23 23:47:59 +07:00
wulan17
30f5ae2994
pyrofork: Add recent_voters field to Poll
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-07-23 23:47:30 +07:00
wulan17
defda31c28
pyrofork: storage: mongo: fix derp
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-07-23 23:47:30 +07:00
wulan17
4bbbd5c460
pyrofork: Remove state when leaving chat
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-07-23 23:47:30 +07:00
6ba25aa4f5
Merge pull request #84 from Mayuri-Chan/dependabot/pip/sphinx-immaterial-0.12.0
build(deps): bump sphinx-immaterial from 0.11.14 to 0.12.0
2024-07-23 10:50:07 +07:00
dependabot[bot]
18e81882c3
build(deps): bump sphinx-immaterial from 0.11.14 to 0.12.0
Bumps [sphinx-immaterial](https://github.com/jbms/sphinx-immaterial) from 0.11.14 to 0.12.0.
- [Release notes](https://github.com/jbms/sphinx-immaterial/releases)
- [Commits](https://github.com/jbms/sphinx-immaterial/compare/v0.11.14...v0.12.0)

---
updated-dependencies:
- dependency-name: sphinx-immaterial
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-22 22:29:50 +00:00
hdiiofficial
c0ee103efe
pyrofork: Update MIN_CHANNEL_ID and MIN_CHAT_ID (#81)
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-07-20 23:40:06 +07:00
a55b56d611
Merge pull request #77 from Mayuri-Chan/dependabot/pip/sphinx-immaterial-0.11.14
build(deps): bump sphinx-immaterial from 0.11.12 to 0.11.14
2024-07-20 23:35:06 +07:00
wulan17
5316a16a83
pyrofork: Bump version to 2.3.36
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-07-15 17:34:06 +07:00
wulan17
869965acf3
pyrofork: Refactor business_connection
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-07-15 16:58:06 +07:00
wulan17
561d3d3def
pyrofork: Bump version to 2.3.35
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-07-14 21:03:30 +07:00
wulan17
d46e8f1da4
pyrofork: Add support for requested channel/chat/user in utils.get_raw_peer_id
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-07-14 21:01:46 +07:00
wulan17
b0f449a0d6
pyrofork: Bump version to 2.3.34
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-07-14 20:35:43 +07:00
wulan17
e999da461d
pyrofork: Add missings business_connection_id
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-07-14 20:29:23 +07:00
wulan17
61398bc5a4
Revert "Add business_connection_id parameter in"
This reverts commit 4d6fb409b8.

Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-07-14 20:29:23 +07:00
shriMADhav U k
48e8d0c4a1
Add get_business_connection to get information about the BusinessConnection
Co-authored-by: wulan17 <wulan17@nusantararom.org>
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-07-14 20:29:23 +07:00
wulan17
9d0c11caf5
pyrofork: fix CallbackQuery parser errors
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-07-14 20:29:23 +07:00
shriMADhav U k
fb2d49efbd
Add business_user_connection_cache similar to message_cache
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-07-14 20:29:23 +07:00
KurimuzonAkuma
8584ea3599
Allow to specify a limit to message cache size
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-07-14 20:29:20 +07:00
wulan17
c394a3ea3a
pyrofork: Bump version to 2.3.33
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-07-13 15:29:00 +07:00
KurimuzonAkuma
f37c5c9f2f
Change Exception to Unauthorized when auth key not found
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-07-13 15:28:34 +07:00
KurimuzonAkuma
58f0031ead
Raise exception if auth key not found
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-07-13 15:28:34 +07:00
S!R X
4795bdbd5b
Fix a bug with get_session
* Fix a bug

InputBotInlineMessageID's dc_id being the same with Client's dc_id.

---------
https://github.com/KurimuzonAkuma/pyrogram/pull/76

Co-authored-by: KurimuzonAkuma <31959970+KurimuzonAkuma@users.noreply.github.com>
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-07-13 15:27:57 +07:00
wulan17
ff69bbaf3b
pyrofork: fix Chat.promote_member NoneType error
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-07-13 15:27:50 +07:00
wulan17
30dad015ae
pyrofork: Bump version to 2.3.32
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-07-07 21:52:50 +07:00
wulan17
918a55de3b
pyrofork: Add PaymentRefunded
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-07-07 21:52:08 +07:00
wulan17
de5d2e747b
pyrofork: fix derp in successful_payment
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-07-07 21:52:08 +07:00
wulan17
5130e0a2e5
pyrofork: Add payload parameter to send_invoice
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-07-07 21:52:08 +07:00
wulan17
32175f33c0
pyrofork: Update API schema to Layer 184
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-07-07 21:52:08 +07:00
wulan17
50a3919ed7
pyrofork: Bump version to 2.3.31
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-07-06 15:54:12 +07:00
wulan17
344f835441
pyrofork: Update PreCheckoutQuery.answer example
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-07-06 15:53:11 +07:00
wulan17
43809a91b1
pyrofork: Add refund_star_payment method
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-07-06 15:53:10 +07:00
RabbitFoRed
48cf8bcb23
pyrofork: method: send_invoice: Message._parse is coroutine
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-07-06 15:53:10 +07:00
wulan17
83543da3e6
pyrofork: Update documentation for send_invoice and LabeledPrice
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-07-06 15:53:10 +07:00
wulan17
c8d2c6a152
pyrofork: Add reply_markup parameter to Client.send_invoice
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-07-06 14:31:16 +07:00
wulan17
0a844bd5ed
pyrofork: Bump version to 2.3.30
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-07-05 17:12:29 +07:00
wulan17
86831843d9
pyrofork: Fix chat/user shared parser
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-07-05 17:11:53 +07:00
dependabot[bot]
08f9bd81f5
build(deps): bump sphinx-immaterial from 0.11.12 to 0.11.14
Bumps [sphinx-immaterial](https://github.com/jbms/sphinx-immaterial) from 0.11.12 to 0.11.14.
- [Release notes](https://github.com/jbms/sphinx-immaterial/releases)
- [Commits](https://github.com/jbms/sphinx-immaterial/compare/v0.11.12...v0.11.14)

---
updated-dependencies:
- dependency-name: sphinx-immaterial
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-03 22:58:44 +00:00
wulan17
57175dedba
pyrofork: Bump version to 2.3.29
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-07-02 15:50:26 +07:00
wulan17
47ede16039
pyrofork: Update send_poll example
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-07-02 15:45:47 +07:00
wulan17
a95517fa19
pyrofork: fix error when copying poll messages
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-07-02 15:43:04 +07:00
wulan17
6bad69f04f
pyrofork: Bump version to 2.3.28
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-07-01 21:31:22 +07:00
wulan17
b6a8ab87c7
pyrofork: Add missing import
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-07-01 21:22:07 +07:00
wulan17
6f8dde7ad0
pyrofork: fix ExtendedMediaPreview parser
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-07-01 21:19:43 +07:00
wulan17
240d3bfde5
pyrofork: remove entities parameter in send_paid_media docs
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-07-01 20:41:24 +07:00
wulan17
b5a00aa539
pyrofork: Bump version to 2.3.27
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-07-01 20:13:29 +07:00
wulan17
d2dd55864c
pyrofork: Add example to send_paid_media method
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-07-01 20:11:56 +07:00
KurimuzonAkuma
2e263190a2
pyrofork: Add folders 2024-07-01 20:11:56 +07:00
wulan17
4ae45da1ec
pyrofork: Add send_paid_media method
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-07-01 20:11:55 +07:00
wulan17
12239964ec
pyrofork: don't append sender_chat if chat type is channel
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-07-01 20:11:55 +07:00
wulan17
2891c15fa5
pyrofork: Add PaidMedia and ExtendedMediaPreview
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-07-01 20:11:54 +07:00
wulan17
2284a2c852
pyrofork: Update API schema to Layer 183
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-07-01 20:11:54 +07:00
wulan17
8902f8be9e
pyrofork: parser: markdown: Ignore markdown inside <code> tags
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-07-01 20:11:54 +07:00
wulan17
ced07dd421
pyrofork: docs: Wrap usable-by in blockquote
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-07-01 20:11:54 +07:00
wulan17
adf5ad50d1
pyrofork: fix derps
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-07-01 20:11:50 +07:00
wulan17
2fe3eeb96b
pyrofork: Bump version to 2.3.26
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-06-23 16:59:56 +07:00
shriMADhav U k
3a41a51359
Added support for InputMessageContent classes, according to BOT API.
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-06-23 16:59:33 +07:00
Artem Ukolov
bb4ea00d4e
Implement non-blocking TCP connection (KurimuzonAkuma/pyrogram#71)
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-06-23 16:59:32 +07:00
shriMADhav U k
3232a3f139
Add UpdateBusinessBotCallbackQuery in callback_query handler
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-06-23 16:59:32 +07:00
shriMADhav U k
0387a09079
Add ShippingQuery and answer_shipping_query
Add on_shipping_query updates.
Also, fix spelling mistakes in previous commits.

Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-06-23 16:59:32 +07:00
shriMADhav U k
4d6fb409b8
Add business_connection_id parameter in
edit_message_caption
edit_message_media
edit_message_reply_markup
edit_message_text
stop_poll

Message.edit_text
Message.edit_media
Message.edit_reply_markup
CallbackQuery.edit_message_text
CallbackQuery.edit_message_media
CallbackQuery.edit_message_reply_markup
Poll.stop

Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-06-23 16:59:32 +07:00
shriMADhav U k
d501b66f93
Add unknown_errors
Improve error messages.

Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-06-23 16:59:32 +07:00
KurimuzonAkuma
8fa49a9c43
Update API schema to Layer 182
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-06-23 16:59:32 +07:00
wulan17
ca6870502e
pyrofork: fix NoneType errors in promote_chat_member
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-06-23 16:59:28 +07:00
wulan17
8c51a192af
pyrofork: fix docs
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-06-15 17:14:12 +07:00
wulan17
1e44386a7c
pyrofork: Bump version to 2.3.25
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-06-15 16:29:17 +07:00
wulan17
f1bea2c32f
pyrofork: Fix story parser (#75)
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-06-15 16:26:11 +07:00
wulan17
c4ec16b742
pyrofork: Add send_invoice method
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-06-15 16:26:10 +07:00
wulan17
d863655769
pyrofork: Fix IndexError error in Client.get_stories
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-06-15 16:26:10 +07:00
wulan17
7a9ffa2506
pyrofork: Add BotAllowed and BotApp
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-06-15 16:26:10 +07:00
wulan17
b8b014129e
pyrofork: Update copyright headers
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-06-15 16:26:10 +07:00
wulan17
bb29cc86bc
pyrofork: remove sticker field from GiftedPremium
not exist in raw types

Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-06-15 16:26:10 +07:00
vpcreatz
955b261101
pyrofork: Fix UnboundLocalError: local variable 'from_user' referenced before assignment
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-06-15 16:26:09 +07:00
wulan17
7c0481d2f0
Partial Revert "pyrofork: Handle FLOOD_PREMIUM_WAIT"
This reverts commit e414aa2812.

Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-06-15 16:26:09 +07:00
shriMADhav U k
30272728be
Add Hashtag Search methods
search_global_hashtag_messages
search_global_hashtag_messages_count

Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-06-15 16:26:09 +07:00
wulan17
e823160c61
pyrofork: Add message_thread_id to general topic messages
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-06-15 16:26:09 +07:00
d4b904675a
Merge pull request #73 from Mayuri-Chan/dependabot/pip/sphinx-immaterial-0.11.12
build(deps): bump sphinx-immaterial from 0.11.11 to 0.11.12
2024-06-15 14:55:16 +07:00
caf61d8dab
Merge pull request #74 from X1A0CA1/main
Improved promote_chat_member() method and Doc Fix
2024-06-15 14:54:55 +07:00
xiaocai
d162ee1542 Docs Fix 2024-06-13 15:44:28 +08:00
xiaocai
ed6dad7426 feat: Can set admin title when promote a chat member. 2024-06-13 15:43:35 +08:00
dependabot[bot]
ca6bf75910
build(deps): bump sphinx-immaterial from 0.11.11 to 0.11.12
Bumps [sphinx-immaterial](https://github.com/jbms/sphinx-immaterial) from 0.11.11 to 0.11.12.
- [Release notes](https://github.com/jbms/sphinx-immaterial/releases)
- [Commits](https://github.com/jbms/sphinx-immaterial/compare/v0.11.11...v0.11.12)

---
updated-dependencies:
- dependency-name: sphinx-immaterial
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-12 22:57:58 +00:00
wulan17
b4c6f66244
pyrofork: Bump version to 2.3.24
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-06-04 00:11:33 +07:00
wulan17
75d6e79917
pyrofork: add invert_media parameter to copy,edit_{caption,media},reply_{animation,media_group,photo,video} bound methods
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-06-04 00:11:02 +07:00
wulan17
fa7b7f3c58
pyrofork: Bump version to 2.3.23
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-06-02 16:43:00 +07:00
wulan17
454c2614e2
pyrofork: fix check_if_has_matching_listener error when message.chat is None
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-06-02 16:42:07 +07:00
wulan17
ad4dc01c8d
Revert "pyrofork: handlers: message: check: fix errors when message.chat or message.from_user is None"
This reverts commit c8768f65cf.

Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-06-02 16:38:31 +07:00
wulan17
1cbcffded1
Pyrofork: Bump version to 2.3.22
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-06-02 14:59:24 +07:00
wulan17
7328ccdf7c
pyrofork: Implement entities in Poll question and options
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-06-02 14:51:32 +07:00
wulan17
59461adc55
pyrofork: add InlineKeyboardButtonBuy and MessageInvoice
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-06-02 14:49:57 +07:00
Zaid _
fac571aff9
pyrofork: Add get_collectible_item_info
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-06-02 14:49:57 +07:00
wulan17
ebbd5dd0bb
pyrofork: Add invert_media parameter to edit_message method and Message.edit_text bound method
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-06-02 14:49:57 +07:00
wulan17
b97407edab
pyrofork: add invert_media parameter to copy_message,edit_message_caption,edit_message_media,send_{animation,cached_media,media_group,photo,video} methods
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-06-02 14:49:57 +07:00
wulan17
a50c72b375
pyrofork: add invert_media field to class Message
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-06-02 14:49:56 +07:00
wulan17
c8768f65cf
pyrofork: handlers: message: check: fix errors when message.chat or message.from_user is None
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-06-02 14:49:56 +07:00
KurimuzonAkuma
a592c984fa
pyrofork: Fix recovering gaps in case of private channel
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-06-02 14:49:50 +07:00
KurimuzonAkuma
4aa4d1a74a
pyrofork: Add skip_updates parameter to Client class
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-06-02 14:49:41 +07:00
wulan17
c4362ad535
pyrofork: Add blockquote expandable parser
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-06-02 14:42:40 +07:00
coglione
4cec859126
pyrofork: Add high level support for pre-checkout queries and service messages for successful payments
* Add high level support for pre-checkout queries

* Add high level support for incoming payments

* Update and fix documentation

---------

Co-authored-by: KurimuzonAkuma <31959970+KurimuzonAkuma@users.noreply.github.com>
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-06-02 14:41:02 +07:00
KurimuzonAkuma
8b52f1f71d
pyrofork: Add get_available_effects method
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-06-02 14:39:02 +07:00
KurimuzonAkuma
3db7bd1dae
pyrofork: Add some errors to known errors
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-06-02 14:38:02 +07:00
KurimuzonAkuma
ef002e0416
pyrofork: Add support for clicking web app and user profile buttons
Co-authored-by: Shrimadhav U K <SpEcHiDe@users.noreply.github.com>
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-06-02 14:38:02 +07:00
KurimuzonAkuma
ed6403db3c
pyrofork: Add view_once parameter to send_photo
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-06-02 14:38:02 +07:00
KurimuzonAkuma
40b679a878
pyrofork: Add topic filter
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-06-02 14:38:01 +07:00
shriMADhav U k
f84e1f6a5e
pyrofork: add ability to specify our own interactions in send_chat_action
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-06-02 14:38:01 +07:00
shriMADhav U k
f03f5ffd79
pyrofork: Update ChatMemberUpdatedHandler to support UpdateBotStopped updates
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-06-02 14:38:01 +07:00
shriMADhav U k
b7dcc5b298
pyrofork: Add gifted_premium to Message
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-06-02 14:38:00 +07:00
shriMADhav U k
8ea36645c0
pyrofork: Add revoke_messages to ban_chat_member
pyrogram/pyrogram#1421

Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-06-02 14:35:35 +07:00
shriMADhav U k
e70556f00f
pyrofork: Added the field via_join_request to the class ChatMemberUpdated.
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-06-02 14:35:35 +07:00
shriMADhav U k
f2ebe880dc
pyrofork: Added the max_reaction_count to the Chat
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-06-02 14:35:35 +07:00
Gautam Kumar
d2ee1653a7
pyrofork: update MIN_CHANNEL_ID
update MIN_CHANNEL_ID

Reference: https://t.me/pyrogramchat/593087
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-06-02 14:35:35 +07:00
shriMADhav U k
f684ce9563
pyrofork: Add message_effect_id to send* methods
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-06-02 14:35:35 +07:00
shriMADhav U k
45a7764153
pyrofork: Added the field effect_id to the Message.
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-06-02 14:34:47 +07:00
shriMADhav U k
e414aa2812
pyrofork: Handle FLOOD_PREMIUM_WAIT
Squashed commit of the following:

commit 546b603
commit 0ac858d
commit c8a9725

Ref: https://t.me/swiftgram/72
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-06-02 14:34:47 +07:00
shriMADhav U k
21de92d909
pyrofork: Support for Chat Video Type
Add has_animation, is_personal, minithumbnail to ChatPhoto
Change return type of get_chat_photos

Inspiration from KurimuzonAkuma/pyrogram#60 but MVB_#1333

Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-06-02 14:34:47 +07:00
wulan17
622616b38d
pyrofork: remove animated, emojis, and videos parameters from create_sticker_pack method
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-06-02 14:34:46 +07:00
shriMADhav U k
eae031f79a
pyrofork: Add trigger and watch emoji animations in send_chat_action and reply_chat_action
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-06-02 14:34:46 +07:00
wulan17
51b006cc69
pyrofork: Update API schema to Layer 181
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-06-02 14:33:06 +07:00
wulan17
2d28db8071
pyrofork: Update API schema to Layer 180
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-06-02 14:33:06 +07:00
wulan17
4703089335
pyrofork: Update API schema to Layer 179
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-06-02 14:33:06 +07:00
wulan17
8475b017e8
pyrofork: Update API schema to Layer 178
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-06-02 14:33:02 +07:00
wulan17
05386b5f56
Pyrofork: Bump version to v2.3.20.post3
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-04-08 21:29:29 +07:00
wulan17
9a50847108
Pyrofork: methods: send_media_group: Remove extras comma (,)
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-04-08 21:28:52 +07:00
wulan17
7fed4491b5
Pyrofork: Update updates/news channel link
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-04-08 20:00:01 +07:00
wulan17
2681025b0b
Pyrofork: Bump version to v2.3.20.post2
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-04-08 18:10:39 +07:00
be47594cf9
Merge pull request #61 from AnonymousX1025/patch-1
Fix more typo
2024-04-08 18:09:27 +07:00
849be50c95
Merge pull request #60 from X1A0CA1/main
docs(update_birthday): Fix error in examples
2024-04-08 18:08:26 +07:00
˹ᴧɴσɴʏᴍσᴜs ꭙ˼
af9e137b28
Typo 2024-04-08 11:32:41 +05:30
XiaoCai
fd0a23a528
docs(update_birthday): Fix error in examples 2024-04-08 00:50:11 +08:00
wulan17
d1e20a070f
Pyrofork: Bump version to v2.3.21.post1
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-04-07 23:18:14 +07:00
wulan17
a1e872962c
Pyrofork: Fix birthday field docs in class Chat
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-04-07 23:17:15 +07:00
wulan17
756a42c595
Pyrofork: fix get_chat exception when personal_channel_id is None
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-04-07 23:17:08 +07:00
wulan17
2d090a6db5
Pyrofork: Fix typo in parse_deleted_messages
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-04-07 23:09:20 +07:00
wulan17
c8a8680fe9
Pyrofork: Bump version to 2.3.21
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-04-06 22:00:27 +07:00
wulan17
d624f386c1
Pyrofork: Add business_connection_id parameter to Message.reply_{animation,audio,chat_action,contact,dice,document,game,location,media_group,message,photo,poll,sticker,venue,video,video_note,voice,web_page} bound methods
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-04-06 21:56:08 +07:00
wulan17
f0a4bce5a5
Pyrofork: Add is_bot_business field to class User
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-04-06 21:56:08 +07:00
wulan17
fa0376c458
Pyrofork: Add update_personal_chat method
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-04-06 21:56:08 +07:00
wulan17
8ca9045ebc
Pyrofork: Add update_birthday method
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-04-06 21:56:08 +07:00
wulan17
1f5a4f1363
Pyrofork: Add personal_chat field to class Chat
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-04-06 21:56:08 +07:00
wulan17
52b23f2a19
Pyrofork: Add UpdateBotBusinessConnect handler
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-04-06 21:56:08 +07:00
wulan17
cc91ee9f44
Pyrofork: Add edited and deleted bot business message(s) handler
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-04-06 21:56:08 +07:00
wulan17
7ddd53f61b
Pyrofork: Add business_connection_id parameter to send_{animation,audio,chat_action,contact,dice,document,game,location,media_group,message,photo,poll,sticker,venue,video,video_note,voice,web_page}
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-04-06 21:56:08 +07:00
wulan17
48fed9347a
Pyrofork: Add UpdateBotNewBusinessMessage updates handler
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-04-06 21:56:08 +07:00
wulan17
05c2770ca7
Pyrofork: Add sender_business_bot field to class Message
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-04-06 21:56:08 +07:00
wulan17
ac6f1ad669
Pyrofork: fix conflict in class Message
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-04-06 21:56:08 +07:00
wulan17
85892c23d0
Pyrofork: Add birthday field to class Chat
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-04-06 21:56:07 +07:00
KurimuzonAkuma
f326333acf
Add business_info attribute to Chat type
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-04-06 21:56:07 +07:00
KurimuzonAkuma
8f81e467d9
Add some errors to known errors
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-04-06 21:56:07 +07:00
wulan17
2714ddd6c0
Pyrofork: Update API schema to Layer 177
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-04-06 21:56:07 +07:00
wulan17
81b2fe4461
Revert "workflows: build docs if theres any changes in docs directory"
This reverts commit ed19fee93d.

Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-04-06 21:56:07 +07:00
a6f4443aa9
Merge pull request #57 from X1A0CA1/main
docs(get_custom_emoji_stickers): Fix errors in documentation
2024-03-26 16:27:12 +07:00
XiaoCai
0e1f7ad712
docs(get_custom_emoji_stickers): Fix errors in documentation 2024-03-24 14:15:05 +08:00
wulan17
ea66135a66
docs: fix tgcrypto installation command
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-03-23 19:22:58 +07:00
wulan17
ed19fee93d
workflows: build docs if theres any changes in docs directory
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-03-23 19:22:57 +07:00
wulan17
5de44baff4
Pyrofork: Bump version to 2.3.20
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-03-23 18:56:13 +07:00
omg-xtao
3f34c96175
Fix ConnectionResetError when only ping task
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-03-23 18:54:51 +07:00
KurimuzonAkuma
92e4ca845b
Increase watchdog interval to 15 minutes
https://core.telegram.org/api/updates#recovering-gaps
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-03-23 18:50:28 +07:00
wulan17
3b5db0b988
[DNM] Revert "feat(storage): migrated to aiosqlite"
This reverts commit 8193d87e2c.

Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-03-23 18:44:34 +07:00
wulan17
9bdc824a61
Pyrofork: Use own fork of tgcrypto (#56)
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-03-23 18:42:21 +07:00
1f9d17fd19
Merge pull request #54 from X1A0CA1/main
Update API Layer and fix a bug
2024-03-23 18:40:47 +07:00
0692acbc60
Merge pull request #55 from troublescope/main
Refactor: Use io module for seek operation
2024-03-21 13:22:14 +07:00
1279bfc5fd
Merge pull request #52 from Mayuri-Chan/dependabot/pip/sphinx-immaterial-0.11.11
Bump sphinx-immaterial from 0.11.10 to 0.11.11
2024-03-21 13:21:38 +07:00
dc4d6ce9b5
Merge pull request #51 from eyMarv/patch-3
Fix sender retrieval of Story() object
2024-03-21 13:21:21 +07:00
XiaoCai
6140e2a8b8
feat(get_custom_emoji_stickers): Supports passing Int and List parameter 2024-03-19 15:17:30 +08:00
XiaoCai
4c9a4f972e
feat(sticker): Adding "needs_repainting" attribute to sticker class 2024-03-19 13:28:52 +08:00
XiaoCai
43fb830382
Fix AttributeError when calling add_sticker_to_set method. 2024-03-18 22:27:13 +08:00
XiaoCai
b49c5f7512
Update API schema to Layer 176 2024-03-18 22:13:06 +08:00
Tomi Prasetio
dfc027c2ff
Refactor: Use io module for seek operation in worker function 2024-03-17 11:08:58 +07:00
dependabot[bot]
dff672ec44
Bump sphinx-immaterial from 0.11.10 to 0.11.11
Bumps [sphinx-immaterial](https://github.com/jbms/sphinx-immaterial) from 0.11.10 to 0.11.11.
- [Release notes](https://github.com/jbms/sphinx-immaterial/releases)
- [Commits](https://github.com/jbms/sphinx-immaterial/compare/v0.11.10...v0.11.11)

---
updated-dependencies:
- dependency-name: sphinx-immaterial
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-08 22:06:08 +00:00
Marvin
7b107a69ef
Fix sender retrieval of Story() object 2024-03-06 18:50:17 +01:00
wulan17
517f2256b6
Pyrofork: Bump version to 2.3.19.post2
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-03-02 21:49:02 +07:00
wulan17
0fcce527bc
Pyrofork: Add ChannelPrivate exception handler to Message parser
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-03-02 21:48:34 +07:00
282f512fed
Merge pull request #50 from eyMarv/patch-2
fix AttributeError: 'PeerUser' object has no attribute 'channel_id'
2024-03-02 21:48:13 +07:00
Marvin
8d9f6132f5
fix AttributeError: 'PeerUser' object has no attribute 'channel_id' 2024-03-01 23:36:19 +01:00
wulan17
01f5a9d1ca
Pyrofork: Bump version to 2.3.19.post1
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-03-01 18:47:49 +07:00
484b58b258
Merge pull request #49 from X1A0CA1/main
fix: Fix AttributeError when calling get_send_as_chats()
2024-03-01 16:27:05 +07:00
e74e54cef0
Merge pull request #48 from eyMarv/patch-1
Fix execute() missing "await"
2024-03-01 16:26:55 +07:00
XiaoCai
18289f96b5
fix: Fix AttributeError when calling get_send_as_chats() 2024-03-01 16:11:24 +08:00
Marvin
a6a5f179cc
Fix execute() missing "await" 2024-02-29 22:30:42 +01:00
wulan17
dee698fc45
Pyrofork: Bump version to 2.3.19
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-02-29 21:43:26 +07:00
wulan17
3049e6e63b
Pyrofork: Fix NoneType error when sending video as media group
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-02-29 21:42:24 +07:00
KurimuzonAkuma
ec19f4f6bb
Add support for ApplyBoost service messages
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-02-29 21:42:24 +07:00
KurimuzonAkuma
26654b1945
Add raw attribute to Message class
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-02-29 21:42:24 +07:00
KurimuzonAkuma
1e7c906342
Add raw attribute to Story class
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-02-29 21:42:24 +07:00
wulan17
cb23b6d17b
Pyrofork: Update stories with Layer 174 changes 2024-02-29 21:42:23 +07:00
wulan17
29ec92c92f
Pyrofork: Update API schema to Layer 174
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-02-29 21:42:23 +07:00
Hitalo M
8193d87e2c
feat(storage): migrated to aiosqlite
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-02-29 21:42:23 +07:00
wulan17
ce46d49ec2
Pyrofork: Add OSError Exception handling to send_media_group
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-02-29 21:42:23 +07:00
wulan17
134559ea18
Pyrofork: Bump version to 2.3.18
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-02-07 20:39:05 +07:00
wulan17
f25c239c7d
Pyrofork: Add is_contacts_only field to User
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-02-07 20:35:44 +07:00
KurimuzonAkuma
13d8b10deb
Pyrofork: Add support for self-destructing video notes
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-02-07 20:35:43 +07:00
wulan17
665965b92a
Pyrofork: Update API schema to Layer 173
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-02-07 20:34:40 +07:00
wulan17
9e7166480a
Pyrofork: Cleanup
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-02-07 20:34:07 +07:00
wulan17
0bf1d33fa2
Pyrofork: Update links
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-02-07 20:25:30 +07:00
wulan17
1b3f0933c7
Pyrofork: Update Copyright headers
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-02-07 20:25:08 +07:00
wulan17
a88ae52938
Pyrofork: Bump version to 2.3.17.post2
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-01-30 18:51:26 +07:00
wulan17
68ca84599f
Pyrofork: fix restrict_chat_member method
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-01-30 18:50:51 +07:00
wulan17
bf94b9e21e
Pyrofork: Bump version to 2.3.17.post
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-01-24 14:54:26 +07:00
wulan17
f53eb2b386
Pyrofork: fix MessageReactionCountUpdated
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-01-24 14:54:05 +07:00
wulan17
9299f02bb9
Pyrofork: Bump version to 2.3.17
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-01-22 23:26:40 +07:00
Yasir Aris M
3a41a720fd
Pyrofork: Add is_slowmode_enabled in Chat (#43)
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-01-22 23:26:09 +07:00
Yasir Aris M
48f313b412
Pyrofork: Add slow_mode_delay in get_chat (#43)
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-01-22 23:26:09 +07:00
Yasir Aris M
4c11bcdc7f
Pyrofork: Message Reaction Update (#43)
* Pyrofork: Message Reaction Update

---------

Signed-off-by: Yasir Aris M <yasiramunandar@gmail.com>
Signed-off-by: wulan17 <wulan17@nusantararom.org>
Co-authored-by: shriMADhav U k <hetzner@shrimadhavuk.me>
Co-authored-by: Yasir Aris M <yasiramunandar@gmail.com>
Co-authored-by: wulan17 <wulan17@nusantararom.org>
2024-01-22 23:26:09 +07:00
shriMADhav U k
82a9222cd2
Add one unknown error
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-01-22 23:26:09 +07:00
shriMADhav U k
f700094fe1
Add two errors
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-01-22 23:26:08 +07:00
shriMADhav U k
02b2cbdca2
Add unknown error
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-01-22 23:26:08 +07:00
AmarnathCJD
b1358c334d
DeSerializing Bug Fixes
Git-Origin-Commit-Id: c4c275ab
Git-Origin-Commit-Id: dd3f2e51
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-01-22 23:26:08 +07:00
wulan17
73922b95a7
Pyrofork: Update API schema to Layer 172
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-01-22 23:25:29 +07:00
wulan17
53501db0ff
Pyrofork: Update API schema to Layer 171
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-01-22 23:25:14 +07:00
KNF Apps
4b8fceecdc
fix(client): add FloodWait exception to media download
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-01-22 23:25:13 +07:00
wulan17
a7859ba790
Pyrofork: Bump version to 2.3.16.post5
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-01-15 22:26:26 +07:00
wulan17
bc17bb6218
Pyrofork: Update set_slow_mode usable-by
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-01-15 22:24:54 +07:00
wulan17
6e97b58566
Pyrofork: fix blockquote parser
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-01-15 22:21:45 +07:00
wulan17
08f0214252
Pyrofork: Update set_chat_protected_content usable-by
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-01-15 22:21:45 +07:00
wulan17
e327d2ecb9
Pyrofork: Add scheduled and from_scheduled parameters to Message documentation
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-01-15 22:21:45 +07:00
wulan17
b289cd5842
Pyrofork: Bump version to 2.3.16.post4
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-01-14 15:21:22 +07:00
wulan17
f17c0a3354
Pyrofork: parser: markdown: blockquote: Don't strip the message text
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-01-14 15:20:57 +07:00
wulan17
834788db94
Pyrofork: docs: Update community link
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-01-14 15:20:57 +07:00
wulan17
6ee289d787
Pyrofork: Bump version to 2.3.16.post3
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-01-12 00:27:09 +07:00
wulan17
4fc27cbae1
Pyrofork: Add blockquote markdown unparser
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-01-12 00:26:45 +07:00
Yasir Aris M
c13f3b766e
Pyrofork: Add blockquote markdown parser
Co-authored-by: wulan17 <wulan17@nusantararom.org>
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-01-12 00:26:44 +07:00
wulan17
a95c1b6ac1
Pyrofork: Add ChannelPrivate exception handler to get_dialogs method
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-01-12 00:26:44 +07:00
wulan17
f2b6182584
Pyrofork: Move duplicated codes to separate method
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-01-12 00:26:44 +07:00
wulan17
41e13454e7
Pyrofork: remove animation from send_story ValueError
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-01-12 00:26:44 +07:00
wulan17
1e93808ed0
Pyrofork: Bump version to 2.3.16.post2
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-01-04 19:52:17 +07:00
wulan17
c3a67b7665
Pyrofork: fix Message.copy text when web_page_preview is not None
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-01-04 19:50:17 +07:00
wulan17
f1b4d1ca49
Pyrofork: Refactor send_story method
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-01-04 19:50:17 +07:00
wulan17
48c7a5e2f9
Pyrofork: Add support for t.me/<username> link in resolve_peer method
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-01-04 19:50:17 +07:00
wulan17
e9f3677908
Pyrofork: Add support for username in reply_in_chat_id and stories chat_id
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-01-04 19:50:16 +07:00
wulan17
038462a232
Pyrofork: Add is_safe field to WebPagePreview
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-01-04 19:50:16 +07:00
KurimuzonAkuma
437a141f88
Add missing attributes to the Chat type
Co-authored-by: wulan17 <wulan17@nusantararom.org>
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-01-04 19:50:16 +07:00
wulan17
5ea55040f8
Pyrofork: types: {chat,user}: Use first fragments username as normal username if normal username is None
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-01-04 19:50:16 +07:00
wulan17
348d6173cd
Pyrofork: Bump version to 2.3.16.post1
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-01-02 02:19:15 +07:00
wulan17
621a07bb8c
Pyrofork: Add invert_media parameter to send_message and Message.reply_text
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-01-02 02:18:34 +07:00
wulan17
a5e3e6802a
Pyrofork: Fix MessageReplyStoryHeader parser
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-01-02 02:18:34 +07:00
wulan17
b41e2c5b9e
Pyrofork: Update API schema to Layer 170
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-01-02 02:18:34 +07:00
wulan17
270fa320ac
Pyrofork: Bump version to 2.3.16
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-12-31 17:43:35 +07:00
wulan17
1340d4f729
Pyrofork: Update send_reaction usable-by
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-12-31 17:43:35 +07:00
wulan17
3fee62dd1d
Pyrofork: Add can_{post,edit,delete}_stories parameter to ChatPrivileges and promote_chat_member 2023-12-31 17:43:34 +07:00
wulan17
b8ccff40e2
Pyrofork: Add is_antispam field to Chat
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-12-31 17:43:34 +07:00
wulan17
0117429dc9
Pyrofork: Add is_join_to_send field to Chat
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-12-31 17:43:34 +07:00
wulan17
db9fef481f
Pyrofork: Add is_join_request field to Chat
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-12-31 17:43:34 +07:00
wulan17
b524fb6049
Pyrofork: fix {chat,user}_shared
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-12-31 17:43:34 +07:00
wulan17
29ae15e660
Pyrofork: Add Story support for download_media method and Add Story.download bound method
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-12-31 17:43:34 +07:00
wulan17
943a4d86a1
Pyrofork: Add quote_text and quote_entities field to Message
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-12-31 17:43:34 +07:00
wulan17
c8b2a3adca
Pyrofork: Add quote_entities parameter to send_{*} methods and Message.reply_{*} bound methods
also add missing parameters to InputReplyToMessage docs

Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-12-31 17:43:34 +07:00
wulan17
cd0473c6af
Pyrofork: Move reply_to to pyrogram.utils
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-12-31 17:43:34 +07:00
094d069b28
Merge pull request #41 from 5hojib/main
Pyrofork: Typo fix
2023-12-31 17:43:21 +07:00
wulan17
b06da1ecdc
Pyrofork: workflows: build main branch docs only on new tags
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-12-30 23:53:55 +07:00
wulan17
53562e4354
Pyrofork: docs: Add branch name to docs commit title
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-12-30 22:08:14 +07:00
wulan17
835fb00e38
Pyrofork: docs: only copy main branch docs to main directory
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-12-30 22:08:14 +07:00
wulan17
08283fe907
Pyrofork: docs: Add versioning
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-12-30 21:24:05 +07:00
Mehedi Hasan Shojib
8a910de8eb
Pyrofork: Typo fix 2023-12-29 17:09:32 +06:00
wulan17
d2059ce948
Pyrofork: Bump version to 2.3.15.post5
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-12-28 20:16:38 +07:00
wulan17
ad501858ce
Pyrofork: Add GiveawayLaunched MessageService type
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-12-28 20:16:15 +07:00
wulan17
16390c3eff
Pyrofork: Add GiveawayResult MessageService type
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-12-28 20:16:15 +07:00
wulan17
992835b5a8
Pyrofork: Bump version to 2.3.15.post4
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-12-26 15:07:51 +07:00
wulan17
fb985d4d30
Pyrofork: Add GiveawayResult and refactor Giveaway
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-12-26 15:06:08 +07:00
wulan17
c0779b52ff
Pyrofork: Add description and thumb to InlineQueryResultAudio #40
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-12-26 15:05:56 +07:00
wulan17
44415e7013
Pyrofork: fix docs
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-12-25 19:15:37 +07:00
wulan17
bcc88f5b4c
Pyrofork: Bump version to 2.3.15.post3
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-12-25 19:07:10 +07:00
wulan17
0b5cc55768
Pyrofork: fix send_story method
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-12-25 19:05:46 +07:00
wulan17
454f155845
Pyrofork: Refactor Story.sender_chat
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-12-25 19:05:46 +07:00
wulan17
bb9abd880e
Pyrofork: fix typo in Story
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-12-25 19:05:46 +07:00
wulan17
0c93081af9
Pyrofork: Bump version to 2.3.15.post2
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-12-25 18:46:08 +07:00
wulan17
4c0b3e4090
Pyrofork: Refactor Story
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-12-25 18:45:49 +07:00
wulan17
2bd393fe0d
Pyrofork: Bump version to 2.3.15.post1
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-12-25 17:09:15 +07:00
wulan17
b85382706d
Pyrofork: Add media_areas parameter to {send,edit}_story methods
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-12-25 17:08:54 +07:00
wulan17
838480e5b8
Pyrofork: Add media_areas field to Story
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-12-25 17:08:54 +07:00
wulan17
1f288c2a0d
Pyrofork: Bump version to 2.3.15
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-12-24 14:54:30 +07:00
KurimuzonAkuma
2543c0f9f4
Add reply color, profile color and some known error, and add support multiple reaction
Signed-off-by: Yasir Aris M <git@yasirdev.my.id>
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-12-24 14:53:53 +07:00
Yasir Aris M
726a622892
Update API schema to Layer 169
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-12-24 14:53:53 +07:00
Yasir Aris M
1329d2ec87
[PyroFork] Add update_color method
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-12-24 14:53:53 +07:00
Yasir Aris M
1dcbc6bf59
Update 400_BAD_REQUEST.tsv
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-12-24 14:53:53 +07:00
Yasir Aris M
3b6999c5e2
[Pyrofork] Added color and background_emoji_id to User and Chat
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-12-24 14:53:53 +07:00
Yasir Aris M
83f39f6ac3
[PyroFork] Fix Some Pyromod Method
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-12-24 14:53:49 +07:00
wulan17
57f7a23dd5
Pyrofork: Bump version to 2.3.14.post2
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-12-15 21:19:10 +07:00
1bb0c85d31
Merge pull request #39 from yasirarism/main
Pyrofork: Add filters.react and add edit_hide to Message object
2023-12-15 21:17:40 +07:00
Yasir Aris M
2a260d0d18
Add filters.react to filter react 2023-12-15 07:50:41 +07:00
Yasir Aris M
e0039f2c69
Add edit_hide to Message object
Use this to prevent edit message by reaction
2023-12-15 07:41:02 +07:00
wulan17
1906bc2939
Pyrofork: Fix docs
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-12-14 13:29:29 +07:00
9ee3afb819
Merge pull request #38 from Mayuri-Chan/dependabot/pip/sphinx-immaterial-0.11.10
Bump sphinx-immaterial from 0.11.9 to 0.11.10
2023-12-14 13:07:24 +07:00
dependabot[bot]
4597757188
Bump sphinx-immaterial from 0.11.9 to 0.11.10
Bumps [sphinx-immaterial](https://github.com/jbms/sphinx-immaterial) from 0.11.9 to 0.11.10.
- [Release notes](https://github.com/jbms/sphinx-immaterial/releases)
- [Commits](https://github.com/jbms/sphinx-immaterial/compare/v0.11.9...v0.11.10)

---
updated-dependencies:
- dependency-name: sphinx-immaterial
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-14 06:02:31 +00:00
wulan17
df41e8d791
Pyrofork: Fix pyproject.toml
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-12-14 12:48:23 +07:00
wulan17
3d9399ebbb
Pyrofork: Bump version to 2.3.14.post1
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-12-13 12:10:40 +07:00
wulan17
b36a46efc0
Pyrofork: Move ListenerTypes to pyrogram.enums
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-12-13 12:09:40 +07:00
wulan17
d6e0a4f520
Pyrofork: Add pyromod documentation
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-12-13 12:09:40 +07:00
wulan17
16bc4a4178
Pyrofork: fix docs
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-12-13 12:09:40 +07:00
wulan17
7a7225b08f
Pyrofork: Move pyromod's client bound methods to its own class
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-12-13 12:09:40 +07:00
wulan17
b7cf8cd3fd
Pyrofork: Update README.md
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-12-13 12:08:58 +07:00
wulan17
ddc91f6086
Pyrofork: docs: Update support chat link
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-12-12 21:38:39 +07:00
wulan17
f03149ce4e
Pyrofork: Bump version to 2.3.14
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-12-12 21:34:39 +07:00
wulan17
7e5e767402
Pyrofork: Drop python3.7 support (EOL)
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-12-12 21:34:16 +07:00
wulan17
534ee2efab
Pyrofork: docs: Update index page
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-12-12 21:32:37 +07:00
wulan17
5d28478c09
Pyrofork: docs: Update link css
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-12-12 21:25:47 +07:00
˹ᴧɴσɴʏᴍσᴜs ꭙ˼
79e6db333f
Pyrofork: Add missing import #37 2023-12-12 20:32:36 +07:00
Ashok Bishnoi
45cabf3c09
Pyrofork: Add protect_content parameter to copy_media_group method #36 2023-12-12 20:32:36 +07:00
Allie
f31271734f
Pyrofork: Fix quickstart.rst install #34 2023-12-12 20:32:29 +07:00
wulan17
48b2e4e480
Pyrofork: Clean old docs before copying
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-12-09 01:26:35 +07:00
wulan17
c1598942ca
Pyrofork: Change docs theme to sphinx-immaterial
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-12-09 01:26:35 +07:00
Hitalo
b88fa8a673
Pyrofork: pyproject.toml migration
Signed-off-by: wulan17 <wulan17@nusantararom.org>
Co-authored-by: Alisson Lauffer <alissonvitortc@gmail.com>
Co-authored-by: wulan17 <wulan17@nusantararom.org>
2023-12-09 01:26:30 +07:00
wulan17
83976b6a72
Pyrofork: Bump version to 2.3.13.post1
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-12-08 00:50:50 +07:00
Aliwoto
b4cb8ff17c
Pyrofork: types: message: Fix cross chat reply parsing
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-12-08 00:49:32 +07:00
wulan17
0560949ed8
Pyrofork: Bump version to 2.3.13
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-12-07 23:02:47 +07:00
wulan17
c90a35a4c1
Pyrofork: Add forward bound method to Story
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-12-07 23:02:47 +07:00
wulan17
c949de63c5
Pyrofork: Add forward_story method
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-12-07 23:02:47 +07:00
wulan17
33d9fef0fb
Pyrofork: Add forward_from field to Story
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-12-07 23:02:47 +07:00
KurimuzonAkuma
97d5354ad2
Pyrofork: Fix api compiling
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-12-07 23:02:35 +07:00
wulan17
9da7f5137e
Pyrofork: Add support for stories reaction
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-12-06 22:59:57 +07:00
wulan17
dda230d9de
Pyrofork: Update API schema to Layer 167
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-12-06 22:59:57 +07:00
wulan17
e7060d650a
Pyrofork: Add 5 more errors to known errors
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-12-06 22:59:39 +07:00
wulan17
8e5e317ed1
Pyrofork: types: giveaway: Add FloodWait Exception handling
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-12-06 22:58:26 +07:00
0943ac72bd
Merge pull request #35 from Mayuri-Chan/dependabot/pip/sphinx-rtd-theme-2.0.0
Bump sphinx-rtd-theme from 1.3.0 to 2.0.0
2023-11-29 11:23:03 +07:00
dependabot[bot]
35371ed091
Bump sphinx-rtd-theme from 1.3.0 to 2.0.0
Bumps [sphinx-rtd-theme](https://github.com/readthedocs/sphinx_rtd_theme) from 1.3.0 to 2.0.0.
- [Changelog](https://github.com/readthedocs/sphinx_rtd_theme/blob/master/docs/changelog.rst)
- [Commits](https://github.com/readthedocs/sphinx_rtd_theme/compare/1.3.0...2.0.0)

---
updated-dependencies:
- dependency-name: sphinx-rtd-theme
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-28 22:40:37 +00:00
wulan17
9c3980ab6e
Pyrofork: Bump version to 2.3.12.post1
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-11-26 01:47:33 +07:00
wulan17
7ef785e5aa
Pyrofork: Refactor giveaway
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-11-26 01:46:58 +07:00
wulan17
af8c490c29
Pyrofork: Bump version to 2.3.12
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-11-25 21:52:35 +07:00
Cezar H
8aee144313
Added Conversation Support Based on Pyromodv2
Co-authored-by: Alisson Lauffer <alissonvitortc@gmail.com>
Co-authored-by: Yasir Aris M <git@yasirdev.my.id>
Co-authored-by: wulan17 <wulan17@nusantararom.org>
Signed-off-by: Yasir Aris M <git@yasirdev.my.id>
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-11-25 21:51:41 +07:00
wulan17
e3e84d91e8
Pyrofork: Add support to reply message in another chat
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-11-25 21:51:41 +07:00
wulan17
1903ddbfbd
Pyrofork: Add blockquote html tag to docs
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-11-25 21:51:40 +07:00
wulan17
3e3a861b50
Pyrofork: Add Giveaway media type
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-11-25 21:51:40 +07:00
wulan17
06da19f109
Pyrofork: Bump version to 2.3.11.post6
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-11-21 00:47:36 +07:00
wulan17
6613329d1c
Pyrofork: fix for UpdateNewScheduledMessage
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-11-21 00:46:29 +07:00
wulan17
dd92d5061f
Pyrofork: Bump version to 2.3.11.post5
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-11-20 23:04:13 +07:00
wulan17
b092130f65
Pyrofork: fix for python3.9 and below
TypeError: Subscripted generics cannot be used with class and instance checks

Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-11-20 23:00:20 +07:00
wulan17
b6751fa86c
Pyrofork: Bump version to 2.3.11.post4
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-11-17 22:18:20 +07:00
wulan17
c7985b5131
Pyrofork: only load MongoStorage module when pymongo is available #32
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-11-17 22:17:20 +07:00
wulan17
4162ac41e8
Pyrofork: Bump version to 2.3.11.post3
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-11-10 21:09:58 +07:00
wulan17
b76e60f671
Pyrofork: Remove pymongo version requirements
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-11-10 21:08:40 +07:00
wulan17
1292805045
Pyrofork: Move Web Page Preview caption to Message.text
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-11-10 21:08:39 +07:00
wulan17
542bd41608
Pyrofork: Bump version 2.3.11.post2
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-11-02 16:46:15 +07:00
fdd08df65d
Merge pull request #27 from yasirarism/main
Fix for copy_message method
2023-11-02 09:45:07 +00:00
Yasir Aris M
9dec95ef69
Fix reply 2023-11-02 08:55:59 +07:00
Yasir Aris M
3445ff978e
Forgot to add quote_text 2023-11-02 07:58:43 +07:00
Yasir Aris M
7126383257
Fix copy_message when preview is enabled 2023-11-02 07:45:00 +07:00
Yasir Aris M
b33bbb7546
Fix parameter disable_web_preview in copy message 2023-11-02 07:11:15 +07:00
wulan17
f88c43387f
Pyrofork: Bump version 2.3.11.post1
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-11-01 21:11:53 +07:00
wulan17
4c2469191c
Pyrofork: Merge Message.web_page to Message.web_page_preview
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-11-01 21:08:45 +07:00
wulan17
c3e84dcd68
Pyrofork: Bump version 2.3.11
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-11-01 00:03:59 +07:00
wulan17
5c358e0c92
Pyrofork: Add web_page_preview field to Message
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-11-01 00:02:50 +07:00
wulan17
7cb00fa10d
Revert "Pyrofork: Add Adjustable web page preview"
This reverts commit b100bf1248.

Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-11-01 00:02:50 +07:00
wulan17
0124d5598b
Pyrofork: Add Message.reply_web_page bound method
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-11-01 00:02:50 +07:00
wulan17
7ff693eefc
Pyrofork: Add send_web_page method
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-11-01 00:02:50 +07:00
wulan17
0480b3870b
Pyrofork: fix docs css
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-11-01 00:01:58 +07:00
b8579d7658
Merge pull request #25 from n1ret/main
Added compatibility with Story object to chat filter
2023-10-31 16:02:20 +00:00
n1ret
06ab804ba1 Added compatibility with Story object to chat filter 2023-10-31 09:47:29 +05:00
wulan17
60d96abd15
Pyrofork: Bump version 2.3.10
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-10-29 15:03:55 +07:00
wulan17
b100bf1248
Pyrofork: Add Adjustable web page preview
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-10-29 15:03:19 +07:00
wulan17
570195a773
Pyrofork: Add Quote
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-10-29 15:03:19 +07:00
wulan17
dd57ebf77e
Pyrofork: Update API schema to Layer 166
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-10-29 15:03:15 +07:00
wulan17
4ccd25e62d
Pyrofork: Bump version 2.3.9.post2
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-10-28 23:11:17 +07:00
wulan17
9e3103b6f6
Pyrofork: Storage: SqliteStorage: Save fragment username(s) to sessions database
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-10-28 23:10:21 +07:00
wulan17
2900a03dc5
Pyrofork: Storage: MongoStorage: Check if fragment usernames need to be updated
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-10-28 23:08:46 +07:00
wulan17
7fca0e87bb
Pyrofork: Clean usernames database before updating usernames database
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-10-28 23:08:42 +07:00
wulan17
3682733d8d
Pyrofork: Bump version 2.3.9.post1
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-10-26 20:00:22 +07:00
wulan17
71623e1080
[TEMP] Pyrofork: Storage: SqliteStorage: Add empty update_usernames function
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-10-26 20:00:01 +07:00
wulan17
e27ae420dc
Pyrofork: Bump version 2.3.9
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-10-26 19:18:27 +07:00
wulan17
db576b8a2f
Pyrofork: Storage: MongoStorage: Save fragment username(s) to sessions database
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-10-26 19:17:53 +07:00
wulan17
733defe650
Pyrofork: fix some derps
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-10-26 19:15:24 +07:00
wulan17
e4964e8470
Pyrofork: Move Non-fragment username from {chat,user}.usernames to {chat,user}.username
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-10-26 19:15:24 +07:00
wulan17
207d0929d8
Pyrofork: Bump version 2.3.8.post3
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-10-14 10:56:02 +07:00
wulan17
51dc19d400
Pyrofork: fix can_send_messages and can_send_media_messages ChatPermissions
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-10-14 10:55:22 +07:00
wulan17
e83e565a29
Pyrofork: Bump version to 2.3.8.post2
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-10-14 00:25:47 +00:00
wulan17
c11dc29a0d
Pyrofork: check if all ChatPermissions parameters is None
also fix derp

Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-10-14 00:25:15 +00:00
wulan17
1936e1e6bd
Pyrofork: Bump version to 2.3.8.post1
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-10-12 23:56:49 +00:00
wulan17
d93285b7ba
Pyrofork: add all_perms parameter to ChatPermissions
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-10-12 23:56:16 +00:00
wulan17
a37ca092d5
Pyrofork: fix docs
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-10-11 22:08:12 +00:00
wulan17
bed1da1ccc
Pyrofork: Bump version to 2.3.8
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-10-11 21:52:45 +00:00
wulan17
57e03f5f9d
pyrofork: fix for chat permissions
when only pass one or more but not all permission, all permission which previously turned off will be turned on

Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-10-11 21:52:12 +00:00
wulan17
f9bb4305fe
pyrofork: check if permissions parameter is None
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-10-11 21:52:12 +00:00
0f85a0ba68
Merge pull request #24 from Mayuri-Chan/dependabot/pip/sphinx-rtd-theme-1.3.0
Bump sphinx-rtd-theme from 1.2.2 to 1.3.0
2023-10-06 00:35:48 +07:00
dependabot[bot]
70b3c5431f
Bump sphinx-rtd-theme from 1.2.2 to 1.3.0
Bumps [sphinx-rtd-theme](https://github.com/readthedocs/sphinx_rtd_theme) from 1.2.2 to 1.3.0.
- [Changelog](https://github.com/readthedocs/sphinx_rtd_theme/blob/master/docs/changelog.rst)
- [Commits](https://github.com/readthedocs/sphinx_rtd_theme/compare/1.2.2...1.3.0)

---
updated-dependencies:
- dependency-name: sphinx-rtd-theme
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-05 17:30:37 +00:00
beaf8f2500
Create dependabot.yml 2023-10-06 00:29:54 +07:00
wulan17
a42474e811
Pyrofork: fix docs
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-10-05 23:57:03 +07:00
wulan17
e05643e016
Pyrofork: Bump version 2.3.7
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-10-05 20:46:06 +07:00
wulan17
da9c45a987
Pyrofork: Stories: Disable allowed_chats privacy for now
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-10-05 20:42:55 +07:00
wulan17
8036da6e32
Pyrofork: Add StoryPrivacy
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-10-05 20:42:33 +07:00
wulan17
55abd409f3
Pyrofork: Rename StoriesPrivacy to StoriesPrivacyRules
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-10-05 20:42:33 +07:00
wulan17
e668180b14
Pyrofork: Use own fork of pymediainfo
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-10-05 20:42:33 +07:00
wulan17
ba13ebf751
Pyrofork: Update API scheme to layer 165
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-10-05 20:42:33 +07:00
wulan17
8eb637c446
Pyrofork: Bump version 2.3.6.post3
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-09-29 20:05:05 +07:00
wulan17
f888ef5387
Pyrofork: clean debug print
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-09-29 20:04:40 +07:00
wulan17
1300819269
Pyrofork: Bump version 2.3.6.post2
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-09-29 19:58:11 +07:00
wulan17
e956bcaac0
Pyrofork: fix some derps
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-09-29 19:57:33 +07:00
wulan17
8309f9420b
Pyrofork: Bump version 2.3.6.post1
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-09-29 01:48:52 +07:00
wulan17
428f9f092e
Pyrofork: Add StoryDeleted and StorySkipped
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-09-29 01:48:21 +07:00
wulan17
6f43eab57b
Pyrofork: Bump version 2.3.6
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-09-29 01:13:38 +07:00
wulan17
c655607bc1
Pyrofork: Add StoryHandler
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-09-29 01:12:39 +07:00
wulan17
3f0c09cbe3
Pyrofork: Bump version 2.3.5.post2
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-09-28 12:46:15 +07:00
fea4a9a34b
Merge pull request #23 from npdkdev/main
fix some derps
2023-09-28 19:44:52 +07:00
Np Dk
885eb4b867 import types 2023-09-28 18:20:05 +07:00
Np Dk
da2a9db70c change story_id to id 2023-09-28 01:21:50 +07:00
wulan17
bc3d258435
Pyrofork: Bump version 2.3.5.post1
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-09-22 17:15:21 +07:00
wulan17
0c79eb27db
Pyrofork: Update MessageStory to layer 164
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-09-22 17:07:24 +07:00
wulan17
6a99126485
Pyrofork: Bump version to 2.3.5
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-09-22 16:34:22 +07:00
wulan17
b345bf8876
Pyrofork: Update some methods and types to layer 164
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-09-22 16:33:52 +07:00
wulan17
6482d082cc
Pyrofork: Update API scheme to layer 164
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-09-22 16:33:52 +07:00
wulan17
db6cae4ae1
Pyrofork: Add reply_to_story field to Message
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-09-22 16:33:52 +07:00
wulan17
fa5539a16d
Pyrofork: Add reply_to_story_id and reply_to_story_user_id field to Message
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-09-22 16:33:52 +07:00
wulan17
2dbbf7707e
Pyrofork: Bump version to 2.3.4
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-09-15 21:25:40 +07:00
wulan17
441b15224e
Pyrofork: Update API schema to Layer 163
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-09-15 21:22:39 +07:00
wulan17
b3a642dc24
Pyrofork: Add topic id to topic created services messages
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-09-15 21:22:39 +07:00
wulan17
24dfde46ce
Pyrofork: fix topic reopen service messages parser
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-09-15 21:22:35 +07:00
mrmissx
a45d7cf74a
add TOPIC_NOT_MODIFIED to known error
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-09-13 22:00:34 +07:00
mrmissx
39af991a04
add topic status filters
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-09-13 21:59:49 +07:00
wulan17
fa0ab7c151
Pyrofork: Bump version to 2.3.3
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-09-07 23:22:56 +07:00
Nick
a43f719aee
Update API schema to Layer 162
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-09-07 23:21:38 +07:00
wulan17
28ccf10142
Pyrofork: Add requirements version ranges
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-09-07 23:21:38 +07:00
wulan17
7af2b07be3
Pyrofork: Add separated media permissions
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-09-07 23:21:38 +07:00
wulan17
b5955f18b3
Pyrofork: Add CHAT_SEND_DOCS_FORBIDDEN to known errors and remove some duplicate
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-09-07 23:21:38 +07:00
wulan17
a450a936d1
Pyrofork: Bump version to 2.3.2
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-09-02 20:38:58 +07:00
wulan17
b666cf1e8e
Pyrofork: Add get_all_stories method
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-09-02 20:38:54 +07:00
wulan17
94587b6d80
Pyrofork: Add get_stories_history method
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-09-02 19:42:54 +07:00
wulan17
d5c6e57627
Pyrofork: Add get_user_stories method
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-09-02 19:42:54 +07:00
wulan17
49e7a9616a
Pyrofork: fix derp
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-09-02 19:42:54 +07:00
wulan17
2d117929a6
Pyrofork: fix docs
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-09-02 19:42:53 +07:00
wulan17
65ec32c666
Pyrofork: methods: stickers: Add missing and remove unused import
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-09-02 19:42:53 +07:00
wulan17
18ef533405
Pyrofork: Bump version to 2.3.1
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-08-29 18:05:07 +07:00
wulan17
202176c3b4
Pyrofork: add MessageStory media type
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-08-29 18:04:42 +07:00
wulan17
c0ca286c04
Pyrofork: add missing has_spoiler parameter to copy_message method #21
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-08-29 18:04:39 +07:00
wulan17
b08ae687b9
Pyrofork: setup: Fix project_url
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-08-20 01:23:35 +07:00
wulan17
27346eb50e
Pyrofork: Bump version to 2.3.0
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-08-20 00:54:30 +07:00
wulan17
89951248b3
Pyrofork: add workflows
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-08-20 00:54:30 +07:00
snyk-bot
ad5c2b8eeb
fix: docs/requirements.txt to reduce vulnerabilities
The following vulnerabilities are fixed by pinning transitive dependencies:
- https://snyk.io/vuln/SNYK-PYTHON-TORNADO-5840803

Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-08-20 00:53:41 +07:00
wulan17
5bb4d936cc
PyroFork: set STORED_MSG_IDS_MAX_SIZE to 500
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-08-18 16:47:53 +07:00
wulan17
9df9b25c72
pyrofork: Add spoiler support for copy_message and send_cached_media methods #18
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-08-18 16:43:14 +07:00
wulan17
34fcefe534
Pyrofork: Add get_bot_info and set_bot_info method
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-08-18 16:41:08 +07:00
wulan17
654076edd4
PyroFork: Add protect_content and drop_author parameters to forward bound method
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-08-18 16:40:59 +07:00
wulan17
42f974321f
PyroFork: Add support to send animation in media group
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-08-18 16:40:46 +07:00
wulan17
b670101dac
Pyrofork: Add Story Support
Signed-off-by: wulan17 <wulan17@nusantararom.org>

Pyrofork: Add Story and StoryViews

Signed-off-by: wulan17 <wulan17@nusantararom.org>

Pyrofork: Add get_stories method

Signed-off-by: wulan17 <wulan17@nusantararom.org>

Pyrofork: Add StoriesPrivacy

Signed-off-by: wulan17 <wulan17@nusantararom.org>

Pyrofork: Add send_story method

Signed-off-by: wulan17 <wulan17@nusantararom.org>

Pyrofork: Add edit_story method

Signed-off-by: wulan17 <wulan17@nusantararom.org>

Pyrofork: Add delete_story method

Signed-off-by: wulan17 <wulan17@nusantararom.org>

Pyrofork: Add export_story_link method

Signed-off-by: wulan17 <wulan17@nusantararom.org>

Pyrofork: Add story bound method

Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-08-18 16:34:41 +07:00
wulan17
4cf50e6e04
pyrofork: Add spoiler support for copy_message and send_cached_media methods #18
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-08-18 16:34:39 +07:00
wulan17
f44c80c1a2
pyrofork: Append message_thread_id to reply bound methods if the message is a topic message
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-08-18 16:34:38 +07:00
wulan17
6b45a89f2b
Pyrofork: Add channel_shared and user_shared service message types
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-08-18 16:34:38 +07:00
wulan17
fc406b8286
Pyrofork: Add request_channel parameters to KeyboardButton class
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-08-18 16:34:37 +07:00
wulan17
4a938a7986
Pyrofork: Add request_chat and request_user parameters to KeyboardButton class
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-08-18 16:34:35 +07:00
wulan17
58025e9cb6
Pyrofork: Add is_participants_hidden field to Chat
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-08-18 16:34:35 +07:00
wulan17
51e5586c74
Pyrofork: Add spoiler support when sending animation, photo, and video using file_id #14
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-08-18 16:34:34 +07:00
wulan17
acb08eb990
PyroFork: Add custom storage support
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-08-18 16:34:33 +07:00
wulan17
c2a506fca0
Pyrofork: add async helper
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-08-18 16:34:26 +07:00
Animesh Murmu
b43b20351f
Pyrofork: Add Mongodb Session Storage
Signed-off-by: wulan17 <wulan17@nusantararom.org>
Co-authored-by: wulan17 <wulan17@nusantararom.org>

Pyrofork: Use session name as database name, add some parameters informations and some cleanup (#3)

Changes to be committed:
	modified:   pyrogram/client.py
	modified:   pyrogram/storage/mongo_storage.py

Signed-off-by: wulan17 <wulan17@nusantararom.org>

PyroFork: storage: mongo: Use existing database connection

support both async_pymongo and motor

Signed-off-by: wulan17 <wulan17@nusantararom.org>

PyroFork: Use Dummy client object to check wether connection object is valid or not

Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-08-18 03:37:39 +07:00
wulan17
d91cf7f120
PyroFork: Add Sticker methods and types
Signed-off-by: wulan17 <wulan17@nusantararom.org>

PyroFork: Add CreateStickerSet Methods

Signed-off-by: wulan17 <wulan17@nusantararom.org>

PyroFork: Add AddStickerToSet Methods

Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-08-18 03:30:37 +07:00
wulan17
ea33dc43a4
Pyrofork: Add Forum Topic Support
Signed-off-by: wulan17 <wulan17@nusantararom.org>

Pyrofork: Add ForumTopicCreated, ForumTopicClosed, ForumTopicReopened, ForumTopicEdited service message types

Signed-off-by: wulan17 <wulan17@nusantararom.org>

Pyrofork: Add can_manage_topics fields to ChatPrivileges and ChatPermissions class

Signed-off-by: wulan17 <wulan17@nusantararom.org>

Pyrofork: Add manage_topics parameter to promote_chat_member, restrict_chat_member, and set_chat_permissions methods

Signed-off-by: wulan17 <wulan17@nusantararom.org>

Pyrofork: Add message_thread_id parameter to send_{animation,audio,cached_media,contact,dice,document,location,media_group,message,photo,poll,sticker,venue,video,video_note,voice} methods

Signed-off-by: wulan17 <wulan17@nusantararom.org>

Pyrogram: Add message_thread_id parameter to forward_message() method and forward() bound method

Signed-off-by: wulan17 <wulan17@nusantararom.org>

Pyrofork: Add message_thread_id parameter to send_game() method and copy() bound method

Signed-off-by: wulan17 <wulan17@nusantararom.org>

Pyrogram: Add ForumTopic and some cleanup

Signed-off-by: wulan17 <wulan17@nusantararom.org>

Pyrofork: Add {create,close,reopen,edit,delete}_forum_topic methods

Signed-off-by: wulan17 <wulan17@nusantararom.org>

Pyrofork: Add message_thread_id parameter to copy_message method

Signed-off-by: wulan17 <wulan17@nusantararom.org>

Pyrofork: Add {CREATED,EDITED,DELETED}_FORUM_TOPIC ChatEvent

Signed-off-by: wulan17 <wulan17@nusantararom.org>

Pyrofork: utils: Check if messages has topics atribut

Signed-off-by: wulan17 <wulan17@nusantararom.org>

Pyrogram: types: Message: Add error handling and is_topic_message

Signed-off-by: wulan17 <wulan17@nusantararom.org>

Pyrofork: Add message_thread_id parameter to send_inline_bot_result()

Signed-off-by: wulan17 <wulan17@nusantararom.org>

Pyrofork: add GeneralTopicHidden and GeneralTopicUnhidden service messages types

Signed-off-by: wulan17 <wulan17@nusantararom.org>

Pyrofork: add message_thread_id parameter to send_chat_action

Signed-off-by: wulan17 <wulan17@nusantararom.org>

PyroFork: Add CloseGeneralTopic, EditGeneralTopic, ReopenGeneralTopic, HideGeneralTopic. UnhideGeneralTopic, and some cleanup

Signed-off-by: wulan17 <wulan17@nusantararom.org>

PyroFork: Add get_forum_topic and get_forum_topic_by_id methods

Signed-off-by: wulan17 <galihgustip@gmail.com>

Pyrofork: Update some methods to layer 160

Signed-off-by: wulan17 <wulan17@nusantararom.org>

pyrofork: Add InputReplyToMessage

Signed-off-by: wulan17 <wulan17@nusantararom.org>

PyroFork: docs: Add missing PeerUser and PeerChannel

and some cleanup

Signed-off-by: wulan17 <galihgustip@gmail.com>
2023-08-18 03:30:36 +07:00
shriMADhav U k
b3cde83bf3
Pyrofork: add some more errors to known errors
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-08-18 03:30:33 +07:00
Nick
5f9bba1c08
Added some story error
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-08-18 03:30:32 +07:00
Albert Einstein
2213af62b4
Add USERNAME_PURCHASE_AVAILABLE to known errors
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-08-18 03:30:32 +07:00
Nick
eac886f0e6
Added some missing errors
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-08-18 03:30:31 +07:00
wulan17
88dee2156e
PyroFork: add TOPIC_CLOSED and TOPIC_DELETED to known errors
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-08-18 03:30:30 +07:00
Nick
bcddcd4036
Pyrofork: Update API scheme on layer 161
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-08-18 03:30:29 +07:00
Nick
75381b3ee8
Update API schema to Layer 160
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-08-18 03:30:28 +07:00
wulan17
9e82bd0b57
Pyrofork: Add alt_port parameter to Client
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-08-18 03:30:28 +07:00
mrmissx
5ba8cc48fc
fix: try to handle startup BadMsgNotification #11
Retry to generate a new msg_id to send before raising BadMsgNotification.

Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-08-18 03:30:27 +07:00
kvrvgv
02733d90f2
PyroFork: add drop_author parameter to forward_messages method
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-08-18 03:30:26 +07:00
MrMissx
02acefd6e2
Fix AttributeError when received ChatForbidden
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-08-18 03:30:25 +07:00
reaitten
86621ba836
InputMessageContent.write is a coroutine
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-08-18 03:30:24 +07:00
Deshdeepak
06c081d171
Add file_name where missing and pass thumb as Union
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-08-18 03:30:23 +07:00
Devesh Pal
165ade92d5
Add bound method stop() to the Poll object
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-08-18 03:30:22 +07:00
Alisson Lauffer
c0efd663fd
Make some methods static
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-08-18 03:30:21 +07:00
wulan17
9d9b8dcac8
PyroFork: Add usernames field to User
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-08-18 03:30:20 +07:00
wulan17
73c1c179d0
PyroFork: Add usernames field to Chat
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-08-18 03:30:16 +07:00
Alisson Lauffer
244ad93229
Add full_name property to User and Chat objects
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-08-18 03:28:59 +07:00
kkwilllo
dab2ab311b
add min & max id support
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-08-18 03:28:58 +07:00
wulan17
367be6f6eb
Pyrofork: Add chat_joined_by_request
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-08-18 03:28:52 +07:00
snyk-bot
97d714f640
fix: docs/requirements.txt to reduce vulnerabilities
The following vulnerabilities are fixed by pinning transitive dependencies:
- https://snyk.io/vuln/SNYK-PYTHON-TORNADO-5537286
2023-08-18 01:44:03 +07:00
wulan17
8762c01669
PyroFork: docs: Add usable by
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-08-18 01:42:52 +07:00
wulan17
261214ec1c
PyroFork: Bring back docs
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-08-18 01:42:01 +07:00
wulan17
7a1684f074
PyroFork: rebrand
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2023-08-18 01:35:50 +07:00
Dan
efac17198b Update Pyrogram to v2.0.106 2023-04-30 20:24:00 +02:00
Dan
2ff67c72aa Move the CDN DC IPv6 to the correct mapping 2023-04-30 20:23:42 +02:00
Dan
d9d68529aa Update Pyrogram to v2.0.105 2023-04-30 19:55:05 +02:00
Dan
e24d5b1cf5 Add RSA public keys & IP addresses for some CDN DCs 2023-04-30 19:54:39 +02:00
Dan
cea21ad6d0 Update Pyrogram to v2.0.104 2023-04-21 14:56:56 +02:00
Dan
bb678a4fb6 Update API schema to Layer 158 2023-04-21 14:56:12 +02:00
Dan
68c7bd6e12 Update Pyrogram to v2.0.103 2023-04-03 16:29:32 +02:00
Dan
8cff5594c0 Update API schema to Layer 155 2023-04-03 16:29:04 +02:00
Dan
abed55aea9 Update Pyrogram to v2.0.102 2023-03-12 17:52:37 +01:00
Dan
0a90d54010 Separate cases between Channel and ChannelForbidden 2023-03-12 17:52:03 +01:00
Dan
fb3f9acc18 Update Pyrogram to v2.0.101 2023-03-11 16:45:56 +01:00
Dan
a3a4a0204c Update chat username parsing in case of multiple usernames 2023-03-11 16:45:32 +01:00
Dan
d6476ce57e Update Pyrogram to v2.0.100 2023-02-26 11:09:21 +01:00
Dan
787eabd940 Update send_inline_bot_result return type hint 2023-02-26 11:08:27 +01:00
Dan
96ffc7efcd Update Pyrogram to v2.0.99 2023-02-11 10:09:03 +01:00
Jins Mathew
2e82fcecff
Add missing has_spoiler parameter to reply_{animation,photo,video} 2023-02-11 10:08:29 +01:00
Dan
f040aefc9f Update bug_report.yml 2023-02-11 10:03:09 +01:00
Dan
53cb3f29c7 Update Pyrogram to v2.0.98 2023-02-10 12:44:07 +01:00
Nick
5c5dce6620
Update API schema to Layer 152 (#1207) 2023-02-10 12:34:43 +01:00
Dan
22e2b7ff62 Update bug_report.yml 2023-02-10 12:30:08 +01:00
Dan
cfbc848dcf Update Pyrogram to v2.0.97 2023-01-12 18:26:08 +01:00
Dan
245b7e653d Tweak Session timeouts 2023-01-12 18:25:42 +01:00
Dan
283246a6b8 Change connection mode 2023-01-12 18:25:10 +01:00
Dan
82b8c7792e Allow to specify a limit to concurrent transmissions 2023-01-12 18:19:15 +01:00
Dan
2a7110e257 Update Pyrogram to v2.0.96 2023-01-09 15:22:36 +01:00
Dan
a58e19827a Sort the lists of known errors 2023-01-09 15:22:10 +01:00
Dan
d53e1c235b Lower the logging level of some log calls 2023-01-09 15:19:55 +01:00
Mahesh
043734f02b
Add BUTTON_USER_PRIVACY_RESTRICTED to the list of known errors (#1193)
* Add BUTTON_USER_PRIVACY_RESTRICTED to known errors

* Update 400_BAD_REQUEST.tsv

Co-authored-by: Dan <14043624+delivrance@users.noreply.github.com>
2023-01-09 15:02:20 +01:00
Dan
f9a9673011 Update Pyrogram to v2.0.95 2023-01-08 17:22:42 +01:00
Dan
24018532c8 Add INVITE_REQUEST_SENT to known errors 2023-01-08 17:22:15 +01:00
Nick
388c534e1f
Add BOT_ONESIDE_NOT_AVAIL to known errors (#1073)
* `BOT_ONESIDE_NOT_AVAIL`

* Update 400_BAD_REQUEST.tsv

Co-authored-by: Dan <14043624+delivrance@users.noreply.github.com>
2023-01-08 17:20:36 +01:00
Dan
aa2f189225 Update Pyrogram to v2.0.94 2023-01-08 17:11:22 +01:00
Dan
8441ce2f47 Limit the amount of concurrent transmissions 2023-01-08 17:11:02 +01:00
Dan
b19764d5dc Update Pyrogram to v2.0.93 2022-12-31 19:02:20 +01:00
Dan
6752af8796 Add error messages for transport errors 2022-12-31 19:01:42 +01:00
Dan
526aaa0f9d Update Pyrogram to v2.0.92 2022-12-30 20:18:23 +01:00
Dan
a09c5a3b98 Set has_media_spoiler only in case of Photo, Video or Animation media 2022-12-30 20:16:25 +01:00
Dan
fbd62f9596 Update Pyrogram to v2.0.91 2022-12-30 18:07:55 +01:00
Dan
2de8f1921c Fix resolving peers for users with multiple usernames
This currently makes it work for the first available username only
2022-12-30 18:07:15 +01:00
Dan
3b0dee7dd5 Update Pyrogram to v2.0.90 2022-12-30 15:56:19 +01:00
Dan
1e6209da3b Add support for email sign in codes
Fixes #1183
2022-12-30 15:55:52 +01:00
Dan
5d3abd3ab0 Update Pyrogram to v2.0.89 2022-12-30 15:14:42 +01:00
Dan
e8bd639634 Add media spoiler support for other relevant methods
- send_media_group()
- edit_message_media()
- edit_inline_media()
2022-12-30 15:12:42 +01:00
Dan
50d87bf5e9 Add the field is_persistent to the class ReplyKeyboardMarkup 2022-12-30 15:10:53 +01:00
Dan
a116ea42c8 Add the field has_spoiler to relevant InputMedia* classes
- InputMediaPhoto
- InputMediaVideo
- InputMediaAnimation
2022-12-30 15:10:20 +01:00
Dan
06996d24ff Add media_spoiler filter 2022-12-30 15:09:21 +01:00
Dan
c707a4baae Add the parameter has_spoiler to relevant send_* media methods
- send_photo()
- send_video()
- send_animation()
2022-12-30 15:08:55 +01:00
Dan
ef29b3c519 Add the field has_media_spoiler to the class Message 2022-12-30 15:06:51 +01:00
Nick
e0dda5ab26
Update API schema to Layer 151 (#1182) 2022-12-30 14:10:37 +01:00
Dan
fbf722d265 Update Pyrogram to v2.0.88 2022-12-29 23:35:06 +01:00
Dan
cf1e31c413 Apply security checks to each message in the container 2022-12-29 23:33:58 +01:00
Dan
7ee47b220d Update Pyrogram to v2.0.87 2022-12-28 17:44:25 +01:00
Dan
d890e5346c Clear stored_msg_ids on session stop 2022-12-28 17:44:02 +01:00
Dan
82c81c10bd Update Pyrogram to v2.0.86 2022-12-28 00:22:19 +01:00
Dan
1daa05a35c Raise and handle send errors in order to immediately act upon 2022-12-28 00:21:05 +01:00
Dan
5ca422b314 Create a future result before sending its request 2022-12-28 00:19:28 +01:00
Dan
2dca5aeac2 Handle proxy socket connections using thread executors 2022-12-28 00:14:04 +01:00
Dan
1fa6f3b924 Update Pyrogram to v2.0.85 2022-12-27 22:24:21 +01:00
Dan
cf06939a55 Workaround proxy sockets not timing out properly 2022-12-27 22:23:05 +01:00
Dan
52effe19d5 Update Pyrogram to v2.0.84 2022-12-27 14:56:34 +01:00
Dan
dc3b8a5e01 Tweak file upload settings
Multiple sessions as used in the current implementation were causing a
variety of network related issues. Use one session only instead. Multiple
workers within the same session are fine as long as they are not too many,
otherwise the server will start replying with -429 (too many requests).
Setting the queue size to 1 helps in having a more linear upload progress.
2022-12-27 14:55:07 +01:00
Dan
9bf742abc0 Introduce back some previously reverted changes 2022-12-27 13:40:42 +01:00
Dan
03d60cdfe6 Update Pyrogram to v2.0.83 2022-12-26 22:30:14 +01:00
Dan
bff583ed75 Revert some of the latest changes 2022-12-26 22:26:55 +01:00
Dan
a81b8a2254 Update Pyrogram to v2.0.82 2022-12-26 20:12:20 +01:00
Dan
235dde2251 Update exception message 2022-12-26 20:11:58 +01:00
Dan
916be08116 Update Pyrogram to v2.0.81 2022-12-26 16:48:30 +01:00
Dan
8b87c6ace3 Update tcp.py 2022-12-26 16:48:03 +01:00
Dan
ab45707f0f Update requirements.txt 2022-12-26 16:47:37 +01:00
Dan
6b54467a0d Update Pyrogram to v2.0.80 2022-12-26 16:38:58 +01:00
Dan
01cd8bb57f Optimize log calls 2022-12-26 16:38:12 +01:00
Dan
d298c62c6d Update session.py 2022-12-26 16:34:49 +01:00
Dan
7182a7cff7 Update connection.py 2022-12-26 16:29:05 +01:00
Dan
dd4e41f63f Make the use of proxies an optional dependency 2022-12-26 16:28:06 +01:00
Dan
6aae3a9c77 Always use non-blocking sockets 2022-12-26 16:25:22 +01:00
Dan
9ee1807e42 Don't raise write() and close() exceptions 2022-12-26 16:23:57 +01:00
Dan
7e5d593544 Keep lang_code lowercase 2022-12-26 16:19:26 +01:00
Dan
9eaaf105c1 Update requirements.txt 2022-12-26 16:18:41 +01:00
Dan
3d5e9d841f Update Pyrogram to v2.0.79 2022-12-25 15:28:26 +01:00
Dan
ce8c242eb4 Revert to triggering a reconnection when skipping invalid packets 2022-12-25 15:14:12 +01:00
Dan
b23e34494e Add messages for mismatched checks 2022-12-25 15:08:02 +01:00
Dan
ae028ab4b6 Switch back to local system time synchronization
perf_counter will stop counting when the system goes to sleep, causing
the generation of invalid message ids after waking up which in turn put
the client into a never ending reconnecting loop due to check mismatches
caused by the time not being synced anymore. It's also unclear whether
perf_counter stays in sync during long runs.
2022-12-25 14:55:40 +01:00
Dan
13094f1d8b Update Pyrogram to v2.0.78 2022-12-25 10:31:40 +01:00
Dan
4c32a15cfd Remove unneeded threading.Lock 2022-12-25 10:30:56 +01:00
Dan
87ae79e0e2 Remove special cases for older Python versions 2022-12-25 10:29:00 +01:00
Dan
dbf2e471b5 Fix usages of removed attributes 2022-12-25 10:26:30 +01:00
Dan
b3825c209e Update Pyrogram to v2.0.77 2022-12-24 17:53:49 +01:00
Dan
c7d362990f Add back a reference to the loop 2022-12-24 17:53:24 +01:00
Dan
13e8c41991 Update Pyrogram to v2.0.76 2022-12-24 17:32:02 +01:00
Dan
f12005b5d0 Use Python's standard sockets in case of no proxy 2022-12-24 17:30:23 +01:00
Dan
deb560a051 Remove unused variables 2022-12-24 17:27:06 +01:00
Dan
91160bf834 Update Pyrogram to v2.0.75 2022-12-24 17:15:23 +01:00
Dan
1cb17152f8 Keep a timeout while connecting and set non-blocking afterwards
Also fix an await to None value
2022-12-24 17:15:10 +01:00
Dan
f30510ab7d Update Pyrogram to v2.0.74 2022-12-24 16:15:37 +01:00
Dan
84d60b56b3 Switch to non-blocking sockets & use a send queue 2022-12-24 16:15:07 +01:00
Dan
f350691c69 Update Pyrogram to v2.0.73 2022-12-23 20:41:31 +01:00
KyMaP13
265f5fc72e
Add VOICE_MESSAGES_FORBIDDEN (#1151)
* add VOICE_MESSAGES_FORBIDDEN

* Update 400_BAD_REQUEST.tsv

Co-authored-by: onefedov <onefedov@yandex-team.ru>
Co-authored-by: Dan <14043624+delivrance@users.noreply.github.com>
2022-12-23 20:40:31 +01:00
omg-xtao
c4a47b99ae
Add support for Fragment SMS codes (#1170) 2022-12-23 20:36:00 +01:00
Dan
8afd4597fa Update Pyrogram to v2.0.72 2022-12-23 20:20:44 +01:00
Dan
81573bce76 Remove threading.Lock usages 2022-12-23 20:20:27 +01:00
Dan
ccb58f503c Update Pyrogram to v2.0.71 2022-12-23 15:41:34 +01:00
Dan
a9e7d15bf6 Add a watchdog for incoming updates 2022-12-23 15:40:56 +01:00
Dan
aeea07f83d Update Pyrogram to v2.0.70 2022-12-12 21:54:07 +01:00
Anton Kovalevich
a76269ddaf
Handle all given updates, avoid short circuit (#1162) 2022-12-12 21:53:09 +01:00
811 changed files with 43018 additions and 4654 deletions

5
.github/FUNDING.yml vendored
View file

@ -1,3 +1,2 @@
github: delivrance github: Mayuri-Chan
liberapay: delivrance custom: ["https://t.me/Mayuri17_bot?start=donate"]
open_collective: pyrogram

View file

@ -4,12 +4,13 @@ body:
- type: checkboxes - type: checkboxes
attributes: attributes:
label: Checklist label: Checklist
description: Invalid, incomplete or inadequate issue reports may not be taken into consideration
options: options:
- label: I am sure the error is coming from Pyrogram's code and not elsewhere - label: I am sure the error is coming from Pyrofork's code and not elsewhere
required: true required: true
- label: I have searched in the issue tracker for similar bug reports, including closed ones - label: I have searched in the issue tracker for similar bug reports, including closed ones
required: true required: true
- label: I ran `pip3 install -U https://github.com/pyrogram/pyrogram/archive/master.zip` and reproduced the issue using the latest development version - label: I ran `pip3 install -U git+https://github.com/Mayuri-Chan/pyrofork` and reproduced the issue using the latest development version
required: true required: true
- type: textarea - type: textarea
@ -34,7 +35,7 @@ body:
- type: textarea - type: textarea
attributes: attributes:
label: Code example label: Code example
description: Provide a [minimal, reproducible](https://stackoverflow.com/help/minimal-reproducible-example) and properly formatted example (if applicable) description: Provide a [minimal, complete, consistently reproducible](https://stackoverflow.com/help/minimal-reproducible-example) and properly formatted example involving normal usages (if applicable)
placeholder: | placeholder: |
from pyrogram import Client from pyrogram import Client
... ...

View file

@ -1,8 +1,8 @@
blank_issues_enabled: false blank_issues_enabled: false
contact_links: contact_links:
- name: Ask Pyrogram related questions - name: Ask Pyrofork related questions
url: https://stackoverflow.com/questions/tagged/pyrogram url: https://stackoverflow.com/questions/tagged/pyrofork
about: This place is only for reporting issues about Pyrogram. You can ask questions at StackOverflow. about: This place is only for reporting issues about Pyrofork. You can ask questions at StackOverflow.
- name: Join the Telegram channel - name: Join the Telegram Chat
url: https://t.me/pyrogram url: https://t.me/MayuriChan_Chat
about: Join the official channel and stay tuned for news, updates and announcements. about: Join the official Chat and stay tuned for news, updates and announcements.

8
.github/dependabot.yml vendored Normal file
View file

@ -0,0 +1,8 @@
version: 2
updates:
- package-ecosystem: "pip"
directory: "/"
schedule:
interval: "daily"
time: "22:00"
open-pull-requests-limit: 10

38
.github/workflows/build-docs.yml vendored Normal file
View file

@ -0,0 +1,38 @@
name: Build-docs
on:
push:
tags:
- "*"
branches:
- staging
- dev/*
jobs:
build:
runs-on: ubuntu-22.04
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Configure
run: bash build-docs.sh configure
- name: Cleanup
run: bash build-docs.sh cleanup
- name: Create virtual environment
run: bash build-docs.sh virtualenv
- name: Build
run: bash build-docs.sh build
- name: Clone gh-pages repository
run: bash build-docs.sh clone
env:
DOCS_KEY: ${{ secrets.DOCS_KEY }}
- name: Push changes
run: bash build-docs.sh push

40
.github/workflows/python-publish.yml vendored Normal file
View file

@ -0,0 +1,40 @@
# This workflow will upload a Python Package using Twine when a release is created
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python#publishing-to-package-registries
# This workflow uses actions that are not certified by GitHub.
# They are provided by a third-party and are governed by
# separate terms of service, privacy policy, and support
# documentation.
name: Upload Python Package
on:
push:
tags:
- '*'
permissions:
contents: read
jobs:
deploy:
runs-on: ubuntu-latest
environment: release
permissions:
id-token: write
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.10'
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -e '.[dev]'
- name: Build package
run: hatch build
- name: Publish package
uses: pypa/gh-action-pypi-publish@release/v1

View file

@ -1,4 +1,4 @@
name: Pyrogram name: Pyrofork
on: [push, pull_request] on: [push, pull_request]
@ -9,13 +9,13 @@ jobs:
strategy: strategy:
matrix: matrix:
os: [ubuntu-latest, macos-latest] os: [ubuntu-latest, macos-latest]
python-version: ["3.7", "3.8", "3.9", "3.10", "3.11"] python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }} - name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2 uses: actions/setup-python@v5
with: with:
python-version: ${{ matrix.python-version }} python-version: ${{ matrix.python-version }}
@ -31,4 +31,4 @@ jobs:
- name: Run tests - name: Run tests
run: | run: |
tox tox

651
.pylintrc Normal file
View file

@ -0,0 +1,651 @@
[MAIN]
# Analyse import fallback blocks. This can be used to support both Python 2 and
# 3 compatible code, which means that the block might have code that exists
# only in one or another interpreter, leading to false positives when analysed.
analyse-fallback-blocks=no
# Clear in-memory caches upon conclusion of linting. Useful if running pylint
# in a server-like mode.
clear-cache-post-run=no
# Load and enable all available extensions. Use --list-extensions to see a list
# all available extensions.
#enable-all-extensions=
# In error mode, messages with a category besides ERROR or FATAL are
# suppressed, and no reports are done by default. Error mode is compatible with
# disabling specific errors.
#errors-only=
# Always return a 0 (non-error) status code, even if lint errors are found.
# This is primarily useful in continuous integration scripts.
#exit-zero=
# A comma-separated list of package or module names from where C extensions may
# be loaded. Extensions are loading into the active Python interpreter and may
# run arbitrary code.
extension-pkg-allow-list=
# A comma-separated list of package or module names from where C extensions may
# be loaded. Extensions are loading into the active Python interpreter and may
# run arbitrary code. (This is an alternative name to extension-pkg-allow-list
# for backward compatibility.)
extension-pkg-whitelist=
# Return non-zero exit code if any of these messages/categories are detected,
# even if score is above --fail-under value. Syntax same as enable. Messages
# specified are enabled, while categories only check already-enabled messages.
fail-on=
# Specify a score threshold under which the program will exit with error.
fail-under=10
# Interpret the stdin as a python script, whose filename needs to be passed as
# the module_or_package argument.
#from-stdin=
# Files or directories to be skipped. They should be base names, not paths.
ignore=CVS
# Add files or directories matching the regular expressions patterns to the
# ignore-list. The regex matches against paths and can be in Posix or Windows
# format. Because '\\' represents the directory delimiter on Windows systems,
# it can't be used as an escape character.
ignore-paths=
# Files or directories matching the regular expression patterns are skipped.
# The regex matches against base names, not paths. The default value ignores
# Emacs file locks
ignore-patterns=^\.#
# List of module names for which member attributes should not be checked and
# will not be imported (useful for modules/projects where namespaces are
# manipulated during runtime and thus existing member attributes cannot be
# deduced by static analysis). It supports qualified module names, as well as
# Unix pattern matching.
ignored-modules=
# Python code to execute, usually for sys.path manipulation such as
# pygtk.require().
#init-hook=
# Use multiple processes to speed up Pylint. Specifying 0 will auto-detect the
# number of processors available to use, and will cap the count on Windows to
# avoid hangs.
jobs=1
# Control the amount of potential inferred values when inferring a single
# object. This can help the performance when dealing with large functions or
# complex, nested conditions.
limit-inference-results=100
# List of plugins (as comma separated values of python module names) to load,
# usually to register additional checkers.
load-plugins=
# Pickle collected data for later comparisons.
persistent=yes
# Resolve imports to .pyi stubs if available. May reduce no-member messages and
# increase not-an-iterable messages.
prefer-stubs=no
# Minimum Python version to use for version dependent checks. Will default to
# the version used to run pylint.
py-version=3.13
# Discover python modules and packages in the file system subtree.
recursive=no
# Add paths to the list of the source roots. Supports globbing patterns. The
# source root is an absolute path or a path relative to the current working
# directory used to determine a package namespace for modules located under the
# source root.
source-roots=
# When enabled, pylint would attempt to guess common misconfiguration and emit
# user-friendly hints instead of false-positive error messages.
suggestion-mode=yes
# Allow loading of arbitrary C extensions. Extensions are imported into the
# active Python interpreter and may run arbitrary code.
unsafe-load-any-extension=no
# In verbose mode, extra non-checker-related info will be displayed.
#verbose=
[BASIC]
# Naming style matching correct argument names.
argument-naming-style=snake_case
# Regular expression matching correct argument names. Overrides argument-
# naming-style. If left empty, argument names will be checked with the set
# naming style.
#argument-rgx=
# Naming style matching correct attribute names.
attr-naming-style=snake_case
# Regular expression matching correct attribute names. Overrides attr-naming-
# style. If left empty, attribute names will be checked with the set naming
# style.
#attr-rgx=
# Bad variable names which should always be refused, separated by a comma.
bad-names=foo,
bar,
baz,
toto,
tutu,
tata
# Bad variable names regexes, separated by a comma. If names match any regex,
# they will always be refused
bad-names-rgxs=
# Naming style matching correct class attribute names.
class-attribute-naming-style=any
# Regular expression matching correct class attribute names. Overrides class-
# attribute-naming-style. If left empty, class attribute names will be checked
# with the set naming style.
#class-attribute-rgx=
# Naming style matching correct class constant names.
class-const-naming-style=UPPER_CASE
# Regular expression matching correct class constant names. Overrides class-
# const-naming-style. If left empty, class constant names will be checked with
# the set naming style.
#class-const-rgx=
# Naming style matching correct class names.
class-naming-style=PascalCase
# Regular expression matching correct class names. Overrides class-naming-
# style. If left empty, class names will be checked with the set naming style.
#class-rgx=
# Naming style matching correct constant names.
const-naming-style=UPPER_CASE
# Regular expression matching correct constant names. Overrides const-naming-
# style. If left empty, constant names will be checked with the set naming
# style.
#const-rgx=
# Minimum line length for functions/classes that require docstrings, shorter
# ones are exempt.
docstring-min-length=-1
# Naming style matching correct function names.
function-naming-style=snake_case
# Regular expression matching correct function names. Overrides function-
# naming-style. If left empty, function names will be checked with the set
# naming style.
#function-rgx=
# Good variable names which should always be accepted, separated by a comma.
good-names=i,
j,
k,
ex,
Run,
_
# Good variable names regexes, separated by a comma. If names match any regex,
# they will always be accepted
good-names-rgxs=
# Include a hint for the correct naming format with invalid-name.
include-naming-hint=no
# Naming style matching correct inline iteration names.
inlinevar-naming-style=any
# Regular expression matching correct inline iteration names. Overrides
# inlinevar-naming-style. If left empty, inline iteration names will be checked
# with the set naming style.
#inlinevar-rgx=
# Naming style matching correct method names.
method-naming-style=snake_case
# Regular expression matching correct method names. Overrides method-naming-
# style. If left empty, method names will be checked with the set naming style.
#method-rgx=
# Naming style matching correct module names.
module-naming-style=snake_case
# Regular expression matching correct module names. Overrides module-naming-
# style. If left empty, module names will be checked with the set naming style.
#module-rgx=
# Colon-delimited sets of names that determine each other's naming style when
# the name regexes allow several styles.
name-group=
# Regular expression which should only match function or class names that do
# not require a docstring.
no-docstring-rgx=^_
# List of decorators that produce properties, such as abc.abstractproperty. Add
# to this list to register other decorators that produce valid properties.
# These decorators are taken in consideration only for invalid-name.
property-classes=abc.abstractproperty
# Regular expression matching correct type alias names. If left empty, type
# alias names will be checked with the set naming style.
#typealias-rgx=
# Regular expression matching correct type variable names. If left empty, type
# variable names will be checked with the set naming style.
#typevar-rgx=
# Naming style matching correct variable names.
variable-naming-style=snake_case
# Regular expression matching correct variable names. Overrides variable-
# naming-style. If left empty, variable names will be checked with the set
# naming style.
#variable-rgx=
[CLASSES]
# Warn about protected attribute access inside special methods
check-protected-access-in-special-methods=no
# List of method names used to declare (i.e. assign) instance attributes.
defining-attr-methods=__init__,
__new__,
setUp,
asyncSetUp,
__post_init__
# List of member names, which should be excluded from the protected access
# warning.
exclude-protected=_asdict,_fields,_replace,_source,_make,os._exit
# List of valid names for the first argument in a class method.
valid-classmethod-first-arg=cls
# List of valid names for the first argument in a metaclass class method.
valid-metaclass-classmethod-first-arg=mcs
[DESIGN]
# List of regular expressions of class ancestor names to ignore when counting
# public methods (see R0903)
exclude-too-few-public-methods=
# List of qualified class names to ignore when counting class parents (see
# R0901)
ignored-parents=
# Maximum number of arguments for function / method.
max-args=5
# Maximum number of attributes for a class (see R0902).
max-attributes=7
# Maximum number of boolean expressions in an if statement (see R0916).
max-bool-expr=5
# Maximum number of branch for function / method body.
max-branches=12
# Maximum number of locals for function / method body.
max-locals=15
# Maximum number of parents for a class (see R0901).
max-parents=7
# Maximum number of positional arguments for function / method.
max-positional-arguments=5
# Maximum number of public methods for a class (see R0904).
max-public-methods=20
# Maximum number of return / yield for function / method body.
max-returns=6
# Maximum number of statements in function / method body.
max-statements=50
# Minimum number of public methods for a class (see R0903).
min-public-methods=2
[EXCEPTIONS]
# Exceptions that will emit a warning when caught.
overgeneral-exceptions=builtins.BaseException,builtins.Exception
[FORMAT]
# Expected format of line ending, e.g. empty (any line ending), LF or CRLF.
expected-line-ending-format=
# Regexp for a line that is allowed to be longer than the limit.
ignore-long-lines=^\s*(# )?<?https?://\S+>?$
# Number of spaces of indent required inside a hanging or continued line.
indent-after-paren=4
# String used as indentation unit. This is usually " " (4 spaces) or "\t" (1
# tab).
indent-string=' '
# Maximum number of characters on a single line.
max-line-length=100
# Maximum number of lines in a module.
max-module-lines=1000
# Allow the body of a class to be on the same line as the declaration if body
# contains single statement.
single-line-class-stmt=no
# Allow the body of an if to be on the same line as the test if there is no
# else.
single-line-if-stmt=no
[IMPORTS]
# List of modules that can be imported at any level, not just the top level
# one.
allow-any-import-level=
# Allow explicit reexports by alias from a package __init__.
allow-reexport-from-package=no
# Allow wildcard imports from modules that define __all__.
allow-wildcard-with-all=no
# Deprecated modules which should not be used, separated by a comma.
deprecated-modules=
# Output a graph (.gv or any supported image format) of external dependencies
# to the given file (report RP0402 must not be disabled).
ext-import-graph=
# Output a graph (.gv or any supported image format) of all (i.e. internal and
# external) dependencies to the given file (report RP0402 must not be
# disabled).
import-graph=
# Output a graph (.gv or any supported image format) of internal dependencies
# to the given file (report RP0402 must not be disabled).
int-import-graph=
# Force import order to recognize a module as part of the standard
# compatibility libraries.
known-standard-library=
# Force import order to recognize a module as part of a third party library.
known-third-party=enchant
# Couples of modules and preferred modules, separated by a comma.
preferred-modules=
[LOGGING]
# The type of string formatting that logging methods do. `old` means using %
# formatting, `new` is for `{}` formatting.
logging-format-style=old
# Logging modules to check that the string format arguments are in logging
# function parameter format.
logging-modules=logging
[MESSAGES CONTROL]
# Only show warnings with the listed confidence levels. Leave empty to show
# all. Valid levels: HIGH, CONTROL_FLOW, INFERENCE, INFERENCE_FAILURE,
# UNDEFINED.
confidence=HIGH,
CONTROL_FLOW,
INFERENCE,
INFERENCE_FAILURE,
UNDEFINED
# Disable the message, report, category or checker with the given id(s). You
# can either give multiple identifiers separated by comma (,) or put this
# option multiple times (only on the command line, not in the configuration
# file where it should appear only once). You can also use "--disable=all" to
# disable everything first and then re-enable specific checks. For example, if
# you want to run only the similarities checker, you can use "--disable=all
# --enable=similarities". If you want to run only the classes checker, but have
# no Warning level messages displayed, use "--disable=all --enable=classes
# --disable=W".
disable=raw-checker-failed,
bad-inline-option,
locally-disabled,
file-ignored,
suppressed-message,
useless-suppression,
deprecated-pragma,
use-implicit-booleaness-not-comparison-to-string,
use-implicit-booleaness-not-comparison-to-zero,
use-symbolic-message-instead,
missing-module-docstring,
missing-class-docstring,
missing-function-docstring,
redefined-builtin
# Enable the message, report, category or checker with the given id(s). You can
# either give multiple identifier separated by comma (,) or put this option
# multiple time (only on the command line, not in the configuration file where
# it should appear only once). See also the "--disable" option for examples.
enable=
[METHOD_ARGS]
# List of qualified names (i.e., library.method) which require a timeout
# parameter e.g. 'requests.api.get,requests.api.post'
timeout-methods=requests.api.delete,requests.api.get,requests.api.head,requests.api.options,requests.api.patch,requests.api.post,requests.api.put,requests.api.request
[MISCELLANEOUS]
# List of note tags to take in consideration, separated by a comma.
notes=FIXME,
XXX,
TODO
# Regular expression of note tags to take in consideration.
notes-rgx=
[REFACTORING]
# Maximum number of nested blocks for function / method body
max-nested-blocks=5
# Complete name of functions that never returns. When checking for
# inconsistent-return-statements if a never returning function is called then
# it will be considered as an explicit return statement and no message will be
# printed.
never-returning-functions=sys.exit,argparse.parse_error
# Let 'consider-using-join' be raised when the separator to join on would be
# non-empty (resulting in expected fixes of the type: ``"- " + " -
# ".join(items)``)
suggest-join-with-non-empty-separator=yes
[REPORTS]
# Python expression which should return a score less than or equal to 10. You
# have access to the variables 'fatal', 'error', 'warning', 'refactor',
# 'convention', and 'info' which contain the number of messages in each
# category, as well as 'statement' which is the total number of statements
# analyzed. This score is used by the global evaluation report (RP0004).
evaluation=max(0, 0 if fatal else 10.0 - ((float(5 * error + warning + refactor + convention) / statement) * 10))
# Template used to display messages. This is a python new-style format string
# used to format the message information. See doc for all details.
msg-template=
# Set the output format. Available formats are: 'text', 'parseable',
# 'colorized', 'json2' (improved json format), 'json' (old json format), msvs
# (visual studio) and 'github' (GitHub actions). You can also give a reporter
# class, e.g. mypackage.mymodule.MyReporterClass.
#output-format=
# Tells whether to display a full report or only the messages.
reports=no
# Activate the evaluation score.
score=yes
[SIMILARITIES]
# Comments are removed from the similarity computation
ignore-comments=yes
# Docstrings are removed from the similarity computation
ignore-docstrings=yes
# Imports are removed from the similarity computation
ignore-imports=yes
# Signatures are removed from the similarity computation
ignore-signatures=yes
# Minimum lines number of a similarity.
min-similarity-lines=4
[SPELLING]
# Limits count of emitted suggestions for spelling mistakes.
max-spelling-suggestions=4
# Spelling dictionary name. No available dictionaries : You need to install
# both the python package and the system dependency for enchant to work.
spelling-dict=
# List of comma separated words that should be considered directives if they
# appear at the beginning of a comment and should not be checked.
spelling-ignore-comment-directives=fmt: on,fmt: off,noqa:,noqa,nosec,isort:skip,mypy:
# List of comma separated words that should not be checked.
spelling-ignore-words=
# A path to a file that contains the private dictionary; one word per line.
spelling-private-dict-file=
# Tells whether to store unknown words to the private dictionary (see the
# --spelling-private-dict-file option) instead of raising a message.
spelling-store-unknown-words=no
[STRING]
# This flag controls whether inconsistent-quotes generates a warning when the
# character used as a quote delimiter is used inconsistently within a module.
check-quote-consistency=no
# This flag controls whether the implicit-str-concat should generate a warning
# on implicit string concatenation in sequences defined over several lines.
check-str-concat-over-line-jumps=no
[TYPECHECK]
# List of decorators that produce context managers, such as
# contextlib.contextmanager. Add to this list to register other decorators that
# produce valid context managers.
contextmanager-decorators=contextlib.contextmanager
# List of members which are set dynamically and missed by pylint inference
# system, and so shouldn't trigger E1101 when accessed. Python regular
# expressions are accepted.
generated-members=
# Tells whether to warn about missing members when the owner of the attribute
# is inferred to be None.
ignore-none=yes
# This flag controls whether pylint should warn about no-member and similar
# checks whenever an opaque object is returned when inferring. The inference
# can return multiple potential results while evaluating a Python object, but
# some branches might not be evaluated, which results in partial inference. In
# that case, it might be useful to still emit no-member and other checks for
# the rest of the inferred objects.
ignore-on-opaque-inference=yes
# List of symbolic message names to ignore for Mixin members.
ignored-checks-for-mixins=no-member,
not-async-context-manager,
not-context-manager,
attribute-defined-outside-init
# List of class names for which member attributes should not be checked (useful
# for classes with dynamically set attributes). This supports the use of
# qualified names.
ignored-classes=optparse.Values,thread._local,_thread._local,argparse.Namespace
# Show a hint with possible names when a member name was not found. The aspect
# of finding the hint is based on edit distance.
missing-member-hint=yes
# The minimum edit distance a name should have in order to be considered a
# similar match for a missing member name.
missing-member-hint-distance=1
# The total number of similar names that should be taken in consideration when
# showing a hint for a missing member.
missing-member-max-choices=1
# Regex pattern to define which classes are considered mixins.
mixin-class-rgx=.*[Mm]ixin
# List of decorators that change the signature of a decorated function.
signature-mutators=
[VARIABLES]
# List of additional names supposed to be defined in builtins. Remember that
# you should avoid defining new builtins when possible.
additional-builtins=
# Tells whether unused global variables should be treated as a violation.
allow-global-unused-variables=yes
# List of names allowed to shadow builtins
allowed-redefined-builtins=
# List of strings which can identify a callback function by name. A callback
# name must start or end with one of those strings.
callbacks=cb_,
_cb
# A regular expression matching the name of dummy variables (i.e. expected to
# not be used).
dummy-variables-rgx=_+$|(_[a-zA-Z0-9_]*[a-zA-Z0-9]+?$)|dummy|^ignored_|^unused_
# Argument names that match this expression will be ignored.
ignored-argument-names=_.*|^ignored_|^unused_
# Tells whether we should check for unused import in __init__ files.
init-import=no
# List of qualified module names which can have objects that can redefine
# builtins.
redefining-builtins-modules=six.moves,past.builtins,future.builtins,builtins,io

View file

@ -1,5 +1,5 @@
## Include ## Include
include README.md COPYING COPYING.lesser NOTICE requirements.txt include README.md COPYING COPYING.lesser NOTICE
recursive-include compiler *.py *.tl *.tsv *.txt recursive-include compiler *.py *.tl *.tsv *.txt
recursive-include tests *.py recursive-include tests *.py

View file

@ -11,9 +11,13 @@ venv:
$(RM) $(VENV) $(RM) $(VENV)
python3 -m venv $(VENV) python3 -m venv $(VENV)
$(PYTHON) -m pip install -U pip wheel setuptools $(PYTHON) -m pip install -U pip wheel setuptools
$(PYTHON) -m pip install -U -r requirements.txt -r dev-requirements.txt $(PYTHON) -m pip install -U -e .
@echo "Created venv with $$($(PYTHON) --version)" @echo "Created venv with $$($(PYTHON) --version)"
clean-docs:
$(RM) docs/build
$(RM) docs/source/api/bound-methods docs/source/api/methods docs/source/api/types docs/source/telegram
clean-build: clean-build:
$(RM) *.egg-info build dist $(RM) *.egg-info build dist
@ -39,4 +43,4 @@ tag:
dtag: dtag:
git tag -d $(TAG) git tag -d $(TAG)
git push origin -d $(TAG) git push origin -d $(TAG)

11
NOTICE
View file

@ -1,17 +1,18 @@
Pyrogram - Telegram MTProto API Client Library for Python Pyrofork - Telegram MTProto API Client Library for Python
Copyright (C) 2017-present Dan <https://github.com/delivrance> Copyright (C) 2017-present Dan <https://github.com/delivrance>
Copyright (C) 2022-present Mayuri-Chan <https://github.com/Mayuri-Chan>
This file is part of Pyrogram. This file is part of Pyrofork.
Pyrogram is free software: you can redistribute it and/or modify Pyrofork is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published 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 by the Free Software Foundation, either version 3 of the License, or
(at your option) any later version. (at your option) any later version.
Pyrogram is distributed in the hope that it will be useful, Pyrofork is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Lesser General Public License for more details. GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License You should have received a copy of the GNU Lesser General Public License
along with Pyrogram. If not, see <http://www.gnu.org/licenses/>. along with Pyrofork. If not, see <http://www.gnu.org/licenses/>.

View file

@ -1,28 +1,32 @@
<p align="center"> <p align="center">
<a href="https://github.com/pyrogram/pyrogram"> <a href="https://github.com/Mayuri-Chan/pyrofok">
<img src="https://docs.pyrogram.org/_static/pyrogram.png" alt="Pyrogram" width="128"> <img src="https://docs.pyrogram.org/_static/pyrogram.png" alt="Pyrofork" width="128">
</a> </a>
<br> <br>
<b>Telegram MTProto API Framework for Python</b> <b>Telegram MTProto API Framework for Python</b>
<br> <br>
<a href="https://pyrogram.org"> <a href="https://github.com/Mayuri-Chan">
Homepage Homepage
</a> </a>
<a href="https://docs.pyrogram.org"> <a href="https://pyrofork.wulan17.dev">
Documentation Documentation
</a> </a>
<a href="https://docs.pyrogram.org/releases"> <a href="https://github.com/Mayuri-Chan/pyrofork/issues">
Releases Issues
</a> </a>
<a href="https://t.me/pyrogram"> <a href="https://t.me/MayuriChan_Chat">
News Support Chat
</a>
<a href="https://t.me/Pyrofork_CH">
News/Releases
</a> </a>
</p> </p>
## Pyrogram ## Pyrofork
> Elegant, modern and asynchronous Telegram MTProto API framework in Python for users and bots > Elegant, modern and asynchronous Telegram MTProto API framework in Python for users and bots
@ -34,27 +38,25 @@ app = Client("my_account")
@app.on_message(filters.private) @app.on_message(filters.private)
async def hello(client, message): async def hello(client, message):
await message.reply("Hello from Pyrogram!") await message.reply("Hello from Pyrofork!")
app.run() app.run()
``` ```
**Pyrogram** is a modern, elegant and asynchronous [MTProto API](https://docs.pyrogram.org/topics/mtproto-vs-botapi) **Pyrofork** is a modern, elegant and asynchronous [MTProto API](https://pyrofork.wulan17.dev/main/topics/mtproto-vs-botapi)
framework. It enables you to easily interact with the main Telegram API through a user account (custom client) or a bot framework. It enables you to easily interact with the main Telegram API through a user account (custom client) or a bot
identity (bot API alternative) using Python. identity (bot API alternative) using Python.
### Support ### Support
If you'd like to support Pyrogram, you can consider: If you'd like to support Pyrofork, you can consider:
- [Become a GitHub sponsor](https://github.com/sponsors/delivrance). - [Become a GitHub sponsor](https://github.com/sponsors/Mayuri-Chan).
- [Become a LiberaPay patron](https://liberapay.com/delivrance).
- [Become an OpenCollective backer](https://opencollective.com/pyrogram).
### Key Features ### Key Features
- **Ready**: Install Pyrogram with pip and start building your applications right away. - **Ready**: Install Pyrofork with pip and start building your applications right away.
- **Easy**: Makes the Telegram API simple and intuitive, while still allowing advanced usages. - **Easy**: Makes the Telegram API simple and intuitive, while still allowing advanced usages.
- **Elegant**: Low-level details are abstracted and re-presented in a more convenient way. - **Elegant**: Low-level details are abstracted and re-presented in a more convenient way.
- **Fast**: Boosted up by [TgCrypto](https://github.com/pyrogram/tgcrypto), a high-performance cryptography library written in C. - **Fast**: Boosted up by [TgCrypto](https://github.com/pyrogram/tgcrypto), a high-performance cryptography library written in C.
@ -65,11 +67,11 @@ If you'd like to support Pyrogram, you can consider:
### Installing ### Installing
``` bash ``` bash
pip3 install pyrogram pip3 install pyrofork
``` ```
### Resources ### Resources
- Check out the docs at https://docs.pyrogram.org to learn more about Pyrogram, get started right - Check out the docs at https://pyrofork.wulan17.dev to learn more about Pyrofork, get started right
away and discover more in-depth material for building your client applications. away and discover more in-depth material for building your client applications.
- Join the official channel at https://t.me/pyrogram and stay tuned for news, updates and announcements. - Join the official group at https://t.me/MayuriChan_Chat and stay tuned for news, updates and announcements.

87
build-docs.sh Normal file
View file

@ -0,0 +1,87 @@
#!/bin/bash
# Check if config.sh exists
if [ -f config.sh ]; then
source config.sh
fi
function parse_parameters() {
while (($#)); do
case $1 in
all | configure | cleanup | virtualenv | build | clone | push ) action=$1 ;;
*) exit 33 ;;
esac
shift
done
}
function do_configure() {
echo "#!/bin/bash" > config.sh
echo "export VENV=\"$(pwd)/venv\"" >> config.sh
if [[ "$(echo "$GITHUB_REF" | cut -d '/' -f "1 2")" == "refs/tags" ]]; then
echo "export BRANCH=\"main\"" >> config.sh
elif [[ "$GITHUB_REF" == "refs/heads/staging" ]]; then
echo "export BRANCH=\"staging\"" >> config.sh
else
b="$(echo "$GITHUB_REF" | cut -d '/' -f '3 4')"
if [[ $(echo "$b" | cut -d '/' -f 1 ) == "dev" ]]; then
b="$(echo "$b" | cut -d '/' -f 2)"
if [[ "$b" =~ ^[0-9]\.[0-9]\.x ]]; then
echo "export BRANCH=\"$b\"" >> config.sh
else
exit 0
fi
else
exit 0
fi
fi
chmod +x config.sh
}
function do_cleanup() {
make clean
make clean-docs
}
function do_virtualenv() {
make venv
make api
"$VENV"/bin/pip install -e '.[docs]'
}
function do_build() {
cd compiler/docs || exit 1 && "$VENV"/bin/python compiler.py
cd ../.. || exit 1
"$VENV"/bin/sphinx-build -b html "docs/source" "docs/build/html" -j auto
}
function do_clone() {
git clone https://wulan17:"$DOCS_KEY"@github.com/Mayuri-Chan/pyrofork-docs.git
}
function do_push() {
cd pyrofork-docs || exit 1
mkdir -p "$BRANCH"
cd "$BRANCH" || exit 1
rm -rf _includes api genindex.html intro py-modindex.html sitemap.xml support.html topics _static faq index.html objects.inv searchindex.js start telegram
cp -r ../../docs/build/html/* .
git config --local user.name "Mayuri-Chan"
git config --local user.email "mayuri@mayuri.my.id"
git add --all
git commit -a -m "docs: $BRANCH: Update docs $(date '+%Y-%m-%d | %H:%m:%S %p %Z')" --signoff
git push -u origin --all
}
function do_all() {
do_configure
source config.sh
do_cleanup
do_virtualenv
do_build
do_clone
do_push
}
parse_parameters "$@"
do_"${action:=all}"

View file

@ -1,17 +1,18 @@
# Pyrogram - Telegram MTProto API Client Library for Python # Pyrofork - Telegram MTProto API Client Library for Python
# Copyright (C) 2017-present Dan <https://github.com/delivrance> # Copyright (C) 2017-present Dan <https://github.com/delivrance>
# Copyright (C) 2022-present Mayuri-Chan <https://github.com/Mayuri-Chan>
# #
# This file is part of Pyrogram. # This file is part of Pyrofork.
# #
# Pyrogram is free software: you can redistribute it and/or modify # Pyrofork is free software: you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as published # 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 # by the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version. # (at your option) any later version.
# #
# Pyrogram is distributed in the hope that it will be useful, # Pyrofork is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of # but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public License for more details. # GNU Lesser General Public License for more details.
# #
# You should have received a copy of the GNU Lesser General Public License # You should have received a copy of the GNU Lesser General Public License
# along with Pyrogram. If not, see <http://www.gnu.org/licenses/>. # along with Pyrofork. If not, see <http://www.gnu.org/licenses/>.

View file

@ -1,17 +1,18 @@
# Pyrogram - Telegram MTProto API Client Library for Python # Pyrofork - Telegram MTProto API Client Library for Python
# Copyright (C) 2017-present Dan <https://github.com/delivrance> # Copyright (C) 2017-present Dan <https://github.com/delivrance>
# Copyright (C) 2022-present Mayuri-Chan <https://github.com/Mayuri-Chan>
# #
# This file is part of Pyrogram. # This file is part of Pyrofork.
# #
# Pyrogram is free software: you can redistribute it and/or modify # Pyrofork is free software: you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as published # 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 # by the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version. # (at your option) any later version.
# #
# Pyrogram is distributed in the hope that it will be useful, # Pyrofork is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of # but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public License for more details. # GNU Lesser General Public License for more details.
# #
# You should have received a copy of the GNU Lesser General Public License # You should have received a copy of the GNU Lesser General Public License
# along with Pyrogram. If not, see <http://www.gnu.org/licenses/>. # along with Pyrofork. If not, see <http://www.gnu.org/licenses/>.

View file

@ -1,20 +1,21 @@
# Pyrogram - Telegram MTProto API Client Library for Python # Pyrofork - Telegram MTProto API Client Library for Python
# Copyright (C) 2017-present Dan <https://github.com/delivrance> # Copyright (C) 2017-present Dan <https://github.com/delivrance>
# Copyright (C) 2022-present Mayuri-Chan <https://github.com/Mayuri-Chan>
# #
# This file is part of Pyrogram. # This file is part of Pyrofork.
# #
# Pyrogram is free software: you can redistribute it and/or modify # Pyrofork is free software: you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as published # 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 # by the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version. # (at your option) any later version.
# #
# Pyrogram is distributed in the hope that it will be useful, # Pyrofork is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of # but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public License for more details. # GNU Lesser General Public License for more details.
# #
# You should have received a copy of the GNU Lesser General Public License # You should have received a copy of the GNU Lesser General Public License
# along with Pyrogram. If not, see <http://www.gnu.org/licenses/>. # along with Pyrofork. If not, see <http://www.gnu.org/licenses/>.
import json import json
import os import os
@ -129,7 +130,7 @@ def get_type_hint(type: str) -> str:
return f"Optional[{type}] = None" if is_flag else type return f"Optional[{type}] = None" if is_flag else type
else: else:
ns, name = type.split(".") if "." in type else ("", type) ns, name = type.split(".") if "." in type else ("", type)
type = f'"raw.base.' + ".".join([ns, name]).strip(".") + '"' type = '"raw.base.' + ".".join([ns, name]).strip(".") + '"'
return f'{type}{" = None" if is_flag else ""}' return f'{type}{" = None" if is_flag else ""}'
@ -258,11 +259,14 @@ def start(format: bool = False):
args = ARGS_RE.findall(line) args = ARGS_RE.findall(line)
# Fix arg name being "self" (reserved python keyword) # Fix arg name being reserved python keyword
for i, item in enumerate(args): for i, item in enumerate(args):
if item[0] == "self": if item[0] == "self":
args[i] = ("is_self", item[1]) args[i] = ("is_self", item[1])
if item[0] == "from":
args[i] = ("from_peer", item[1])
combinator = Combinator( combinator = Combinator(
section=section, section=section,
qualname=qualname, qualname=qualname,
@ -426,11 +430,11 @@ def start(format: bool = False):
if function_docs: if function_docs:
docstring += function_docs["desc"] + "\n" docstring += function_docs["desc"] + "\n"
else: else:
docstring += f"Telegram API function." docstring += "Telegram API function."
docstring += f"\n\n Details:\n - Layer: ``{layer}``\n - ID: ``{c.id[2:].upper()}``\n\n" docstring += f"\n\n Details:\n - Layer: ``{layer}``\n - ID: ``{c.id[2:].upper()}``\n\n"
docstring += f" Parameters:\n " + \ docstring += " Parameters:\n " + \
(f"\n ".join(docstring_args) if docstring_args else "No parameters required.\n") ("\n ".join(docstring_args) if docstring_args else "No parameters required.\n")
if c.section == "functions": if c.section == "functions":
docstring += "\n Returns:\n " + get_docstring_arg_type(c.qualtype) docstring += "\n Returns:\n " + get_docstring_arg_type(c.qualtype)
@ -438,12 +442,12 @@ def start(format: bool = False):
references, count = get_references(c.qualname, "constructors") references, count = get_references(c.qualname, "constructors")
if references: if references:
docstring += f"\n Functions:\n This object can be returned by " \ docstring += "\n Functions:\n This object can be returned by " \
f"{count} function{'s' if count > 1 else ''}.\n\n" \ f"{count} function{'s' if count > 1 else ''}.\n\n" \
f" .. currentmodule:: pyrogram.raw.functions\n\n" \ " .. currentmodule:: pyrogram.raw.functions\n\n" \
f" .. autosummary::\n" \ " .. autosummary::\n" \
f" :nosignatures:\n\n" \ " :nosignatures:\n\n" \
f" " + references " " + references
write_types = read_types = "" if c.has_flags else "# No flags\n " write_types = read_types = "" if c.has_flags else "# No flags\n "

File diff suppressed because it is too large Load diff

View file

@ -20,4 +20,4 @@ class {name}: # type: ignore
raise TypeError("Base types can only be used for type checking purposes: " raise TypeError("Base types can only be used for type checking purposes: "
"you tried to use a base type instance as argument, " "you tried to use a base type instance as argument, "
"but you need to instantiate one of its constructors instead. " "but you need to instantiate one of its constructors instead. "
"More info: https://docs.pyrogram.org/telegram/base/{doc_name}") "More info: https://pyrofork.wulan17.dev/telegram/base/{doc_name}")

View file

@ -1,17 +1,18 @@
# Pyrogram - Telegram MTProto API Client Library for Python # Pyrofork - Telegram MTProto API Client Library for Python
# Copyright (C) 2017-present Dan <https://github.com/delivrance> # Copyright (C) 2017-present Dan <https://github.com/delivrance>
# Copyright (C) 2022-present Mayuri-Chan <https://github.com/Mayuri-Chan>
# #
# This file is part of Pyrogram. # This file is part of Pyrofork.
# #
# Pyrogram is free software: you can redistribute it and/or modify # Pyrofork is free software: you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as published # 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 # by the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version. # (at your option) any later version.
# #
# Pyrogram is distributed in the hope that it will be useful, # Pyrofork is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of # but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public License for more details. # GNU Lesser General Public License for more details.
# #
# You should have received a copy of the GNU Lesser General Public License # You should have received a copy of the GNU Lesser General Public License
# along with Pyrogram. If not, see <http://www.gnu.org/licenses/>. # along with Pyrofork. If not, see <http://www.gnu.org/licenses/>.

View file

@ -1,20 +1,21 @@
# Pyrogram - Telegram MTProto API Client Library for Python # Pyrofork - Telegram MTProto API Client Library for Python
# Copyright (C) 2017-present Dan <https://github.com/delivrance> # Copyright (C) 2017-present Dan <https://github.com/delivrance>
# Copyright (C) 2022-present Mayuri-Chan <https://github.com/Mayuri-Chan>
# #
# This file is part of Pyrogram. # This file is part of Pyrofork.
# #
# Pyrogram is free software: you can redistribute it and/or modify # Pyrofork is free software: you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as published # 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 # by the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version. # (at your option) any later version.
# #
# Pyrogram is distributed in the hope that it will be useful, # Pyrofork is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of # but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public License for more details. # GNU Lesser General Public License for more details.
# #
# You should have received a copy of the GNU Lesser General Public License # You should have received a copy of the GNU Lesser General Public License
# along with Pyrogram. If not, see <http://www.gnu.org/licenses/>. # along with Pyrofork. If not, see <http://www.gnu.org/licenses/>.
import ast import ast
import os import os
@ -138,16 +139,35 @@ def pyrogram_api():
start start
stop stop
run run
run_sync
restart restart
add_handler add_handler
remove_handler remove_handler
stop_transmission stop_transmission
export_session_string export_session_string
set_parse_mode set_parse_mode
ping
""",
conversation="""
Conversation
ask
listen
get_listener_matching_with_data
get_listener_matching_with_identifier_pattern
get_many_listeners_matching_with_data
get_many_listeners_matching_with_identifier_pattern
register_next_step_handler
remove_listener
stop_listener
stop_listening
wait_for_callback_query
wait_for_message
""", """,
messages=""" messages="""
Messages Messages
add_task_to_todo
send_message send_message
forward_media_group
forward_messages forward_messages
copy_message copy_message
copy_media_group copy_media_group
@ -155,16 +175,19 @@ def pyrogram_api():
send_audio send_audio
send_document send_document
send_sticker send_sticker
send_todo
send_video send_video
send_animation send_animation
send_voice send_voice
send_video_note send_video_note
send_web_page
send_media_group send_media_group
send_location send_location
send_venue send_venue
send_contact send_contact
send_cached_media send_cached_media
send_reaction send_reaction
set_todo_tasks_completion
edit_message_text edit_message_text
edit_message_caption edit_message_caption
edit_message_media edit_message_media
@ -175,7 +198,11 @@ def pyrogram_api():
edit_inline_reply_markup edit_inline_reply_markup
send_chat_action send_chat_action
delete_messages delete_messages
delete_scheduled_messages
get_available_effects
get_messages get_messages
get_message_read_participants
get_scheduled_messages
get_media_group get_media_group
get_chat_history get_chat_history
get_chat_history_count get_chat_history_count
@ -189,12 +216,18 @@ def pyrogram_api():
search_messages_count search_messages_count
search_global search_global
search_global_count search_global_count
search_global_hashtag_messages
search_global_hashtag_messages_count
download_media download_media
stream_media stream_media
get_discussion_message get_discussion_message
get_discussion_replies get_discussion_replies
get_discussion_replies_count get_discussion_replies_count
get_custom_emoji_stickers get_custom_emoji_stickers
transcribe_audio
translate_message_text
start_bot
delete_chat_history
""", """,
chats=""" chats="""
Chats Chats
@ -207,6 +240,9 @@ def pyrogram_api():
set_administrator_title set_administrator_title
set_chat_photo set_chat_photo
delete_chat_photo delete_chat_photo
delete_folder
export_folder_link
update_folder
set_chat_title set_chat_title
set_chat_description set_chat_description
set_chat_permissions set_chat_permissions
@ -219,8 +255,11 @@ def pyrogram_api():
get_chat_members_count get_chat_members_count
get_dialogs get_dialogs
get_dialogs_count get_dialogs_count
get_folders
get_forum_topics
get_forum_topics_by_id
get_forum_topics_count
set_chat_username set_chat_username
get_nearby_chats
archive_chats archive_chats
unarchive_chats unarchive_chats
add_chat_members add_chat_members
@ -237,6 +276,19 @@ def pyrogram_api():
get_send_as_chats get_send_as_chats
set_send_as_chat set_send_as_chat
set_chat_protected_content set_chat_protected_content
close_forum_topic
close_general_topic
create_forum_topic
delete_forum_topic
edit_forum_topic
edit_general_topic
hide_general_topic
reopen_forum_topic
reopen_general_topic
transfer_chat_ownership
unhide_general_topic
update_color
update_folder
""", """,
users=""" users="""
Users Users
@ -247,6 +299,8 @@ def pyrogram_api():
set_profile_photo set_profile_photo
delete_profile_photos delete_profile_photos
set_username set_username
update_birthday
update_personal_chat
update_profile update_profile
block_user block_user
unblock_user unblock_user
@ -254,6 +308,24 @@ def pyrogram_api():
get_default_emoji_statuses get_default_emoji_statuses
set_emoji_status set_emoji_status
""", """,
stories="""
Stories
delete_stories
edit_story
export_story_link
forward_story
get_all_stories
get_stories
get_stories_history
get_peer_stories
send_story
""",
stickers="""
Stickers
add_sticker_to_set
create_sticker_set
get_sticker_set
""",
invite_links=""" invite_links="""
Invite Links Invite Links
get_chat_invite_link get_chat_invite_link
@ -282,6 +354,39 @@ def pyrogram_api():
get_contacts get_contacts
get_contacts_count get_contacts_count
""", """,
payments="""
Payments
apply_gift_code
check_gift_code
convert_gift
create_invoice_link
get_payment_form
get_stars_transactions
get_stars_transactions_by_id
get_available_gifts
get_upgraded_gift
get_chat_gifts_count
get_chat_gifts
hide_gift
refund_star_payment
search_gifts_for_resale
send_invoice
send_paid_media
send_paid_reaction
send_payment_form
send_gift
send_resold_gift
set_gift_resale_price
set_pinned_gifts
show_gift
transfer_gift
upgrade_gift
get_stars_balance
""",
phone="""
Phone
get_call_members
""",
password=""" password="""
Password Password
enable_cloud_password enable_cloud_password
@ -306,6 +411,21 @@ def pyrogram_api():
set_chat_menu_button set_chat_menu_button
get_chat_menu_button get_chat_menu_button
answer_web_app_query answer_web_app_query
get_bot_info
set_bot_info
get_collectible_item_info
get_owned_bots
get_similar_bots
""",
business="""
Telegram Business
answer_pre_checkout_query
answer_shipping_query
delete_business_messages
get_business_connection
get_business_account_gifts
get_business_account_star_balance
transfer_business_account_stars
""", """,
authorization=""" authorization="""
Authorization Authorization
@ -317,13 +437,13 @@ def pyrogram_api():
resend_code resend_code
sign_in sign_in
sign_in_bot sign_in_bot
sign_up sign_in_qrcode
get_password_hint get_password_hint
check_password check_password
send_recovery_code send_recovery_code
recover_password recover_password
accept_terms_of_service
log_out log_out
get_active_sessions
""", """,
advanced=""" advanced="""
Advanced Advanced
@ -345,7 +465,7 @@ def pyrogram_api():
fmt_keys = {} fmt_keys = {}
for k, v in categories.items(): for k, v in categories.items():
name, *methods = get_title_list(v) _, *methods = get_title_list(v)
fmt_keys.update({k: "\n ".join("{0} <{0}>".format(m) for m in methods)}) fmt_keys.update({k: "\n ".join("{0} <{0}>".format(m) for m in methods)})
for method in methods: for method in methods:
@ -371,7 +491,15 @@ def pyrogram_api():
categories = dict( categories = dict(
users_chats=""" users_chats="""
Users & Chats Users & Chats
Birthday
BusinessInfo
BusinessMessage
BusinessRecipients
BusinessSchedule
BusinessWeeklyOpen
BusinessWorkingHours
User User
Username
Chat Chat
ChatPreview ChatPreview
ChatPhoto ChatPhoto
@ -384,19 +512,44 @@ def pyrogram_api():
ChatEventFilter ChatEventFilter
ChatMemberUpdated ChatMemberUpdated
ChatJoinRequest ChatJoinRequest
ChatJoinedByRequest
ChatJoiner ChatJoiner
Dialog Dialog
Folder
Restriction Restriction
EmojiStatus EmojiStatus
ExportedFolderLink
ForumTopic
PeerUser
PeerChannel
BotInfo
GroupCallMember
ChatColor
CollectibleItemInfo
BotVerification
""", """,
messages_media=""" messages_media="""
Messages & Media Messages & Media
Message Message
MessageEntity MessageEntity
MessageOriginChannel
MessageOriginChat
MessageOriginHiddenUser
MessageOriginImport
MessageOriginUser
MessageOrigin
Photo Photo
Thumbnail Thumbnail
TodoList
TodoTask
TodoTasksAdded
TodoTasksCompleted
TodoTasksIncompleted
Audio Audio
AvailableEffect
Document Document
ExternalReplyInfo
AlternativeVideo
Animation Animation
Video Video
Voice Voice
@ -405,8 +558,20 @@ def pyrogram_api():
Location Location
Venue Venue
Sticker Sticker
StickerSet
Game Game
Gift
GiftAttribute
Giveaway
GiveawayLaunched
GiveawayResult
MessageStory
WebPage WebPage
WebPageEmpty
WebPagePreview
TranscribedAudio
TranslatedText
TextQuote
Poll Poll
PollOption PollOption
Dice Dice
@ -417,7 +582,70 @@ def pyrogram_api():
VideoChatMembersInvited VideoChatMembersInvited
WebAppData WebAppData
MessageReactions MessageReactions
MessageReactor
ChatReactions ChatReactions
ForumTopicCreated
ForumTopicEdited
ForumTopicClosed
ForumTopicDeleted
ForumTopicReopened
GeneralTopicHidden
GeneralTopicUnhidden
Reaction
MessageReactionUpdated
MessageReactionCountUpdated
ExportedStoryLink
ChatTheme
ChatWallpaper
ContactRegistered
ReadParticipant
ScreenshotTaken
Wallpaper
WallpaperSettings
""",
stories="""
Stories
Story
StoryDeleted
StoryForwardHeader
StorySkipped
StoriesPrivacyRules
StoryViews
MediaArea
MediaAreaChannelPost
MediaAreaCoordinates
InputMediaArea
InputMediaAreaChannelPost
""",
payment="""
Payment
CheckedGiftCode
ExtendedMediaPreview
GiftCode
GiftedPremium
InputStarsTransaction
Invoice
LabeledPrice
PaidMedia
PaidMessagePriceChanged
PaymentForm
PaymentInfo
PaymentRefunded
PurchasedPaidMedia
StarsStatus
StarsTransaction
SuccessfulPayment
""",
pyromod="""
Pyromod
Identifier
Listener
""",
bot="""
Bot
BotAllowed
BotApp
BotBusinessConnection
""", """,
bot_keyboards=""" bot_keyboards="""
Bot keyboards Bot keyboards
@ -426,6 +654,13 @@ def pyrogram_api():
ReplyKeyboardRemove ReplyKeyboardRemove
InlineKeyboardMarkup InlineKeyboardMarkup
InlineKeyboardButton InlineKeyboardButton
InlineKeyboardButtonBuy
RequestPeerTypeChannel
RequestPeerTypeChat
RequestPeerTypeUser
RequestedChats
RequestedChat
RequestedUser
LoginUrl LoginUrl
ForceReply ForceReply
CallbackQuery CallbackQuery
@ -450,6 +685,13 @@ def pyrogram_api():
BotCommandScopeChatAdministrators BotCommandScopeChatAdministrators
BotCommandScopeChatMember BotCommandScopeChatMember
""", """,
business="""
Telegram Business
PreCheckoutQuery
ShippingAddress
ShippingOption
ShippingQuery
""",
input_media=""" input_media="""
Input Media Input Media
InputMedia InputMedia
@ -483,13 +725,32 @@ def pyrogram_api():
InlineQueryResultVoice InlineQueryResultVoice
ChosenInlineResult ChosenInlineResult
""", """,
pre_checkout_query="""
PreCheckoutQuery
PreCheckoutQuery.answer
""",
shipping_query="""
ShippingQuery
ShippingQuery.answer
""",
input_message_content=""" input_message_content="""
InputMessageContent InputMessageContent
InputMessageContent InputMessageContent
InputReplyToMessage
InputReplyToMonoforum
InputReplyToStory
InputTextMessageContent InputTextMessageContent
InputLocationMessageContent
InputVenueMessageContent
InputContactMessageContent
InputInvoiceMessageContent
InputTodoTask
""", """,
authorization=""" authorization="""
Authorization Authorization
ActiveSession
ActiveSessions
LoginToken
SentCode SentCode
TermsOfService TermsOfService
""" """
@ -507,7 +768,7 @@ def pyrogram_api():
fmt_keys = {} fmt_keys = {}
for k, v in categories.items(): for k, v in categories.items():
name, *types = get_title_list(v) _, *types = get_title_list(v)
fmt_keys.update({k: "\n ".join(types)}) fmt_keys.update({k: "\n ".join(types)})
@ -526,6 +787,7 @@ def pyrogram_api():
categories = dict( categories = dict(
message=""" message="""
Message Message
Message.ask
Message.click Message.click
Message.delete Message.delete
Message.download Message.download
@ -557,11 +819,18 @@ def pyrogram_api():
Message.reply_video Message.reply_video
Message.reply_video_note Message.reply_video_note
Message.reply_voice Message.reply_voice
Message.reply_web_page
Message.get_media_group Message.get_media_group
Message.react Message.react
Message.transcribe
Message.translate
Message.wait_for_click
""", """,
chat=""" chat="""
Chat Chat
Chat.ask
Chat.listen
Chat.stop_listening
Chat.archive Chat.archive
Chat.unarchive Chat.unarchive
Chat.set_title Chat.set_title
@ -582,11 +851,57 @@ def pyrogram_api():
""", """,
user=""" user="""
User User
User.ask
User.listen
User.stop_listening
User.archive User.archive
User.unarchive User.unarchive
User.block User.block
User.unblock User.unblock
""", """,
story="""
Story
Story.delete
Story.download
Story.edit
Story.edit_animation
Story.edit_caption
Story.edit_photo
Story.edit_privacy
Story.edit_video
Story.export_link
Story.forward
Story.reply_text
Story.reply_animation
Story.reply_audio
Story.reply_cached_media
Story.reply_media_group
Story.reply_photo
Story.reply_sticker
Story.reply_video
Story.reply_video_note
Story.reply_voice
""",
folder="""
Folder
Folder.delete
Folder.update
Folder.include_chat
Folder.exclude_chat
Folder.update_color
Folder.pin_chat
Folder.remove_chat
Folder.export_link
""",
gift="""
Gift
Gift.show
Gift.hide
Gift.convert
Gift.upgrade
Gift.transfer
Gift.wear
""",
callback_query=""" callback_query="""
Callback Query Callback Query
CallbackQuery.answer CallbackQuery.answer
@ -599,6 +914,14 @@ def pyrogram_api():
InlineQuery InlineQuery
InlineQuery.answer InlineQuery.answer
""", """,
pre_checkout_query="""
PreCheckoutQuery
PreCheckoutQuery.answer
""",
shipping_query="""
ShippingQuery
ShippingQuery.answer
""",
chat_join_request=""" chat_join_request="""
ChatJoinRequest ChatJoinRequest
ChatJoinRequest.approve ChatJoinRequest.approve

View file

@ -1,7 +1,7 @@
Bound Methods Bound Methods
============= =============
Some Pyrogram types define what are called bound methods. Bound methods are functions attached to a type which are Some Pyrofork types define what are called bound methods. Bound methods are functions attached to a type which are
accessed via an instance of that type. They make it even easier to call specific methods by automatically inferring accessed via an instance of that type. They make it even easier to call specific methods by automatically inferring
some of the required arguments. some of the required arguments.
@ -36,6 +36,19 @@ Message
{message_toctree} {message_toctree}
Story
-----
.. hlist::
:columns: 3
{story_hlist}
.. toctree::
:hidden:
{story_toctree}
Chat Chat
---- ----
@ -88,6 +101,32 @@ InlineQuery
{inline_query_toctree} {inline_query_toctree}
PreCheckoutQuery
----------------
.. hlist::
:columns: 2
{pre_checkout_query_hlist}
.. toctree::
:hidden:
{pre_checkout_query_toctree}
ShippingQuery
-------------
.. hlist::
:columns: 2
{shipping_query_hlist}
.. toctree::
:hidden:
{shipping_query_toctree}
ChatJoinRequest ChatJoinRequest
--------------- ---------------
@ -101,3 +140,28 @@ ChatJoinRequest
{chat_join_request_toctree} {chat_join_request_toctree}
Folder
---------------
.. hlist::
:columns: 2
{folder_hlist}
.. toctree::
:hidden:
{folder_toctree}
Gift
---------------
.. hlist::
:columns: 2
{gift_hlist}
.. toctree::
:hidden:
{gift_toctree}

View file

@ -1,7 +1,7 @@
Available Methods Available Methods
================= =================
This page is about Pyrogram methods. All the methods listed here are bound to a :class:`~pyrogram.Client` instance, This page is about Pyrofork methods. All the methods listed here are bound to a :class:`~pyrogram.Client` instance,
except for :meth:`~pyrogram.idle()` and :meth:`~pyrogram.compose()`, which are special functions that can be found in except for :meth:`~pyrogram.idle()` and :meth:`~pyrogram.compose()`, which are special functions that can be found in
the main package directly. the main package directly.
@ -47,6 +47,19 @@ Utilities
.. currentmodule:: pyrogram.Client .. currentmodule:: pyrogram.Client
Conversation
------------
.. autosummary::
:nosignatures:
{conversation}
.. toctree::
:hidden:
{conversation}
Messages Messages
-------- --------
@ -60,6 +73,19 @@ Messages
{messages} {messages}
Stories
-------
.. autosummary::
:nosignatures:
{stories}
.. toctree::
:hidden:
{stories}
Chats Chats
----- -----
@ -73,6 +99,32 @@ Chats
{chats} {chats}
Stickers
--------
.. autosummary::
:nosignatures:
{stickers}
.. toctree::
:hidden:
{stickers}
Telegram Business
-------------
.. autosummary::
:nosignatures:
{business}
.. toctree::
:hidden:
{business}
Users Users
----- -----
@ -138,6 +190,19 @@ Bots
{bots} {bots}
Payments
----
.. autosummary::
:nosignatures:
{payments}
.. toctree::
:hidden:
{payments}
Authorization Authorization
------------- -------------
@ -165,4 +230,4 @@ Learn more about how to use the raw API at :doc:`Advanced Usage <../../topics/ad
.. toctree:: .. toctree::
:hidden: :hidden:
{advanced} {advanced}

View file

@ -1,7 +1,7 @@
Available Types Available Types
=============== ===============
This page is about Pyrogram Types. All types listed here are available through the ``pyrogram.types`` package. This page is about Pyrofork Types. All types listed here are available through the ``pyrogram.types`` package.
Unless required as argument to a client method, most of the types don't need to be manually instantiated because they Unless required as argument to a client method, most of the types don't need to be manually instantiated because they
are only returned by other methods. You also don't need to import them, unless you want to type-hint your variables. are only returned by other methods. You also don't need to import them, unless you want to type-hint your variables.
@ -47,6 +47,45 @@ Messages & Media
{messages_media} {messages_media}
Stories
-------
.. autosummary::
:nosignatures:
{stories}
.. toctree::
:hidden:
{stories}
Pyromod
-------
.. autosummary::
:nosignatures:
{pyromod}
.. toctree::
:hidden:
{pyromod}
Bot
---
.. autosummary::
:nosignatures:
{bot}
.. toctree::
:hidden:
{bot}
Bot keyboards Bot keyboards
------------- -------------
@ -73,6 +112,19 @@ Bot commands
{bot_commands} {bot_commands}
Telegram Business
-------------
.. autosummary::
:nosignatures:
{business}
.. toctree::
:hidden:
{business}
Input Media Input Media
----------- -----------
@ -112,6 +164,45 @@ InputMessageContent
{input_message_content} {input_message_content}
ShippingQuery
-------------------
.. autosummary::
:nosignatures:
{shipping_query}
.. toctree::
:hidden:
{shipping_query}
PreCheckoutQuery
-------------------
.. autosummary::
:nosignatures:
{pre_checkout_query}
.. toctree::
:hidden:
{pre_checkout_query}
Payment
-------------------
.. autosummary::
:nosignatures:
{payment}
.. toctree::
:hidden:
{payment}
Authorization Authorization
------------- -------------
@ -123,4 +214,4 @@ Authorization
.. toctree:: .. toctree::
:hidden: :hidden:
{authorization} {authorization}

View file

@ -1,17 +1,18 @@
# Pyrogram - Telegram MTProto API Client Library for Python # Pyrofork - Telegram MTProto API Client Library for Python
# Copyright (C) 2017-present Dan <https://github.com/delivrance> # Copyright (C) 2017-present Dan <https://github.com/delivrance>
# Copyright (C) 2022-present Mayuri-Chan <https://github.com/Mayuri-Chan>
# #
# This file is part of Pyrogram. # This file is part of Pyrofork.
# #
# Pyrogram is free software: you can redistribute it and/or modify # Pyrofork is free software: you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as published # 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 # by the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version. # (at your option) any later version.
# #
# Pyrogram is distributed in the hope that it will be useful, # Pyrofork is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of # but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public License for more details. # GNU Lesser General Public License for more details.
# #
# You should have received a copy of the GNU Lesser General Public License # You should have received a copy of the GNU Lesser General Public License
# along with Pyrogram. If not, see <http://www.gnu.org/licenses/>. # along with Pyrofork. If not, see <http://www.gnu.org/licenses/>.

View file

@ -1,21 +1,23 @@
# Pyrogram - Telegram MTProto API Client Library for Python # Pyrofork - Telegram MTProto API Client Library for Python
# Copyright (C) 2017-present Dan <https://github.com/delivrance> # Copyright (C) 2017-present Dan <https://github.com/delivrance>
# Copyright (C) 2022-present Mayuri-Chan <https://github.com/Mayuri-Chan>
# #
# This file is part of Pyrogram. # This file is part of Pyrofork.
# #
# Pyrogram is free software: you can redistribute it and/or modify # Pyrofork is free software: you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as published # 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 # by the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version. # (at your option) any later version.
# #
# Pyrogram is distributed in the hope that it will be useful, # Pyrofork is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of # but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public License for more details. # GNU Lesser General Public License for more details.
# #
# You should have received a copy of the GNU Lesser General Public License # You should have received a copy of the GNU Lesser General Public License
# along with Pyrogram. If not, see <http://www.gnu.org/licenses/>. # along with Pyrofork. If not, see <http://www.gnu.org/licenses/>.
import ast
import csv import csv
import os import os
import re import re
@ -36,6 +38,13 @@ def caml(s):
s = snek(s).split("_") s = snek(s).split("_")
return "".join([str(i.title()) for i in s]) return "".join([str(i.title()) for i in s])
def get_classes_from_file(file_path):
with open(file_path, "r", encoding="utf-8") as f:
tree = ast.parse(f.read())
classes = [node.name for node in ast.walk(tree) if isinstance(node, ast.ClassDef)]
return classes
def start(): def start():
shutil.rmtree(DEST, ignore_errors=True) shutil.rmtree(DEST, ignore_errors=True)
@ -126,6 +135,20 @@ def start():
f_all.write(" },\n") f_all.write(" },\n")
f_all.write("}\n") f_all.write("}\n")
with open(init, "a", encoding="utf-8") as f_init:
f_init.write("\n")
all_classes = []
for i in files:
code, name = re.search(r"(\d+)_([A-Z_]+)", i).groups()
classes = get_classes_from_file("{}/{}_{}.py".format(DEST, name.lower(), code))
for j in classes:
if j not in ["BaseException", "Exception", "PyrogramException"]:
all_classes.append(j)
f_init.write("__all__ = [\n")
all_classes = sorted(set(all_classes))
for i in all_classes:
f_init.write(" \"{}\",\n".format(i))
f_init.write("]\n")
with open("{}/all.py".format(DEST), encoding="utf-8") as f: with open("{}/all.py".format(DEST), encoding="utf-8") as f:
content = f.read() content = f.read()

View file

@ -1,20 +1,21 @@
# Pyrogram - Telegram MTProto API Client Library for Python # Pyrofork - Telegram MTProto API Client Library for Python
# Copyright (C) 2017-present Dan <https://github.com/delivrance> # Copyright (C) 2017-present Dan <https://github.com/delivrance>
# Copyright (C) 2022-present Mayuri-Chan <https://github.com/Mayuri-Chan>
# #
# This file is part of Pyrogram. # This file is part of Pyrofork.
# #
# Pyrogram is free software: you can redistribute it and/or modify # Pyrofork is free software: you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as published # 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 # by the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version. # (at your option) any later version.
# #
# Pyrogram is distributed in the hope that it will be useful, # Pyrofork is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of # but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public License for more details. # GNU Lesser General Public License for more details.
# #
# You should have received a copy of the GNU Lesser General Public License # You should have received a copy of the GNU Lesser General Public License
# along with Pyrogram. If not, see <http://www.gnu.org/licenses/>. # along with Pyrofork. If not, see <http://www.gnu.org/licenses/>.
import csv import csv
from pathlib import Path from pathlib import Path

View file

@ -2,57 +2,81 @@ id message
ABOUT_TOO_LONG The provided about/bio text is too long ABOUT_TOO_LONG The provided about/bio text is too long
ACCESS_TOKEN_EXPIRED The bot token has expired ACCESS_TOKEN_EXPIRED The bot token has expired
ACCESS_TOKEN_INVALID The bot access token is invalid ACCESS_TOKEN_INVALID The bot access token is invalid
ADDRESS_INVALID The specified geopoint address is invalid.
ADMINS_TOO_MUCH The chat has too many administrators ADMINS_TOO_MUCH The chat has too many administrators
ADMIN_ID_INVALID The specified admin ID is invalid
ADMIN_RANK_EMOJI_NOT_ALLOWED Emoji are not allowed in custom administrator titles ADMIN_RANK_EMOJI_NOT_ALLOWED Emoji are not allowed in custom administrator titles
ADMIN_RANK_INVALID The custom administrator title is invalid or too long ADMIN_RANK_INVALID The custom administrator title is invalid or too long
ADMIN_RIGHTS_EMPTY The chatAdminRights constructor passed in keyboardButtonRequestPeer.peer_type.user_admin_rights has no rights set (i.e. flags is 0).
ALBUM_PHOTOS_TOO_MANY Too many photos were included in the album ALBUM_PHOTOS_TOO_MANY Too many photos were included in the album
API_ID_INVALID The api_id/api_hash combination is invalid API_ID_INVALID The api_id/api_hash combination is invalid
API_ID_PUBLISHED_FLOOD You are using an API key that is limited on the server side because it was published somewhere API_ID_PUBLISHED_FLOOD You are using an API key that is limited on the server side because it was published somewhere
ARTICLE_TITLE_EMPTY The article title is empty ARTICLE_TITLE_EMPTY The article title is empty
AUDIO_CONTENT_URL_EMPTY The remote URL specified in the content field is empty
AUDIO_TITLE_EMPTY The title attribute of the audio is empty AUDIO_TITLE_EMPTY The title attribute of the audio is empty
AUTH_BYTES_INVALID The authorization bytes are invalid AUTH_BYTES_INVALID The authorization bytes are invalid
AUTH_TOKEN_ALREADY_ACCEPTED The authorization token was already used AUTH_TOKEN_ALREADY_ACCEPTED The authorization token was already used
AUTH_TOKEN_EXCEPTION An error occurred while importing the auth token
AUTH_TOKEN_EXPIRED The provided authorization token has expired and the updated QR-code must be re-scanned AUTH_TOKEN_EXPIRED The provided authorization token has expired and the updated QR-code must be re-scanned
AUTH_TOKEN_INVALID An invalid authorization token was provided AUTH_TOKEN_INVALID An invalid authorization token was provided
AUTH_TOKEN_INVALID2 An invalid authorization token was provided
AUTH_TOKEN_INVALIDX The specified auth token is invalid
AUTOARCHIVE_NOT_AVAILABLE This feature is not yet enabled for your account due to it not receiving too many private messages from strangers AUTOARCHIVE_NOT_AVAILABLE This feature is not yet enabled for your account due to it not receiving too many private messages from strangers
BANK_CARD_NUMBER_INVALID The credit card number is invalid BANK_CARD_NUMBER_INVALID The credit card number is invalid
BANNED_RIGHTS_INVALID You provided a set of restrictions that is invalid BANNED_RIGHTS_INVALID You provided a set of restrictions that is invalid
BASE_PORT_LOC_INVALID The base port location is invalid BASE_PORT_LOC_INVALID The base port location is invalid
BIRTHDAY_INVALID The age should be less than 150 year old in Telegram
BOTS_TOO_MUCH The chat has too many bots BOTS_TOO_MUCH The chat has too many bots
BOT_CHANNELS_NA Bots can't edit admin privileges BOT_CHANNELS_NA Bots can't edit admin privileges
BOT_COMMAND_DESCRIPTION_INVALID The command description was empty, too long or had invalid characters BOT_COMMAND_DESCRIPTION_INVALID The command description was empty, too long or had invalid characters
BOT_COMMAND_INVALID The specified command is invalid
BOT_DOMAIN_INVALID The domain used for the auth button does not match the one configured in @BotFather BOT_DOMAIN_INVALID The domain used for the auth button does not match the one configured in @BotFather
BOT_GAMES_DISABLED Bot games cannot be used in this type of chat BOT_GAMES_DISABLED Bot games cannot be used in this type of chat
BOT_GROUPS_BLOCKED This bot can't be added to groups BOT_GROUPS_BLOCKED This bot can't be added to groups
BOT_INLINE_DISABLED The inline feature of the bot is disabled BOT_INLINE_DISABLED The inline feature of the bot is disabled
BOT_INVALID This is not a valid bot BOT_INVALID This is not a valid bot
BOT_INVOICE_INVALID The provided invoice is invalid
BOT_METHOD_INVALID The method can't be used by bots BOT_METHOD_INVALID The method can't be used by bots
BOT_MISSING This method can only be run by a bot BOT_MISSING This method can only be run by a bot
BOT_ONESIDE_NOT_AVAIL Bots can't pin messages for one side only in private chats
BOT_PAYMENTS_DISABLED This method can only be run by a bot BOT_PAYMENTS_DISABLED This method can only be run by a bot
BOT_POLLS_DISABLED Sending polls by bots has been disabled BOT_POLLS_DISABLED Sending polls by bots has been disabled
BOT_RESPONSE_TIMEOUT The bot did not answer to the callback query in time BOT_RESPONSE_TIMEOUT The bot did not answer to the callback query in time
BOT_SCORE_NOT_MODIFIED The bot score was not modified BOT_SCORE_NOT_MODIFIED The bot score was not modified
BROADCAST_CALLS_DISABLED Broadcast calls disabled
BROADCAST_ID_INVALID The channel is invalid BROADCAST_ID_INVALID The channel is invalid
BROADCAST_PUBLIC_VOTERS_FORBIDDEN Polls with public voters cannot be sent in channels BROADCAST_PUBLIC_VOTERS_FORBIDDEN Polls with public voters cannot be sent in channels
BROADCAST_REQUIRED The request can only be used with a channel BROADCAST_REQUIRED The request can only be used with a channel
BUSINESS_BOT_MISSING Business bot missing
BUTTON_DATA_INVALID The button callback data is invalid or too large BUTTON_DATA_INVALID The button callback data is invalid or too large
BUTTON_ID_INVALID The button_id parameter is invalid
BUTTON_TEXT_INVALID The specified button text is invalid
BUTTON_TYPE_INVALID The type of one of the buttons you provided is invalid BUTTON_TYPE_INVALID The type of one of the buttons you provided is invalid
BUTTON_URL_INVALID The button url is invalid BUTTON_URL_INVALID The button url is invalid
BUTTON_USER_PRIVACY_RESTRICTED The privacy settings of the user specified in a keyboard button do not allow creating such button
CALL_ALREADY_ACCEPTED The call is already accepted CALL_ALREADY_ACCEPTED The call is already accepted
CALL_ALREADY_DECLINED The call is already declined CALL_ALREADY_DECLINED The call is already declined
CALL_PEER_INVALID The provided call peer object is invalid CALL_PEER_INVALID The provided call peer object is invalid
CALL_PROTOCOL_FLAGS_INVALID Call protocol flags invalid CALL_PROTOCOL_FLAGS_INVALID Call protocol flags invalid
CDN_METHOD_INVALID The method can't be used on CDN DCs CDN_METHOD_INVALID The method can't be used on CDN DCs
CHANNELS_ADMIN_LOCATED_TOO_MUCH The user has reached the limit of public geogroups
CHANNELS_ADMIN_PUBLIC_TOO_MUCH You are an administrator of too many public channels CHANNELS_ADMIN_PUBLIC_TOO_MUCH You are an administrator of too many public channels
CHANNELS_TOO_MUCH You have joined too many channels or supergroups, leave some and try again CHANNELS_TOO_MUCH You have joined too many channels or supergroups, leave some and try again
CHANNEL_ADD_INVALID Internal error. CHANNEL_ADD_INVALID Internal error.
CHANNEL_BANNED The channel is banned CHANNEL_BANNED The channel is banned
CHANNEL_ID_INVALID The specified supergroup ID is invalid.
CHANNEL_INVALID The channel parameter is invalid CHANNEL_INVALID The channel parameter is invalid
CHANNEL_PARICIPANT_MISSING The current user is not in the channel
CHANNEL_PRIVATE The channel/supergroup is not accessible CHANNEL_PRIVATE The channel/supergroup is not accessible
CHANNEL_TOO_LARGE The channel is too large CHANNEL_TOO_BIG The channel too big
CHANNEL_TOO_LARGE "Channel is too large to be deleted; this error is issued when trying to delete channels with more than 1000 members (subject to change)."
CHARGE_ALREADY_REFUNDED The charge id was already used for a refund.
CHARGE_NOT_FOUND The charge id was not found.
CHATLIST_EXCLUDE_INVALID The specified `exclude_peers` are invalid.
CHAT_ABOUT_NOT_MODIFIED The chat about text was not modified because you tried to edit it using the same content CHAT_ABOUT_NOT_MODIFIED The chat about text was not modified because you tried to edit it using the same content
CHAT_ABOUT_TOO_LONG The chat about text is too long CHAT_ABOUT_TOO_LONG The chat about text is too long
CHAT_ADMIN_REQUIRED The method requires chat admin privileges CHAT_ADMIN_REQUIRED The method requires chat admin privileges
CHAT_DISCUSSION_UNALLOWED The chat discussion is not allowed
CHAT_FORWARDS_RESTRICTED The chat restricts forwarding content CHAT_FORWARDS_RESTRICTED The chat restricts forwarding content
CHAT_ID_EMPTY The provided chat id is empty CHAT_ID_EMPTY The provided chat id is empty
CHAT_ID_INVALID The chat id being used is invalid or not known yet. Make sure you see the chat before interacting with it CHAT_ID_INVALID The chat id being used is invalid or not known yet. Make sure you see the chat before interacting with it
@ -61,12 +85,14 @@ CHAT_INVITE_PERMANENT The chat invite link is primary
CHAT_LINK_EXISTS The action failed because the supergroup is linked to a channel CHAT_LINK_EXISTS The action failed because the supergroup is linked to a channel
CHAT_NOT_MODIFIED The chat settings (title, permissions, photo, etc..) were not modified because you tried to edit them using the same content CHAT_NOT_MODIFIED The chat settings (title, permissions, photo, etc..) were not modified because you tried to edit them using the same content
CHAT_RESTRICTED The chat is restricted and cannot be used CHAT_RESTRICTED The chat is restricted and cannot be used
CHAT_REVOKE_DATE_UNSUPPORTED `min_date` and `max_date` are not available for using with non-user peers
CHAT_SEND_INLINE_FORBIDDEN You cannot use inline bots to send messages in this chat CHAT_SEND_INLINE_FORBIDDEN You cannot use inline bots to send messages in this chat
CHAT_TITLE_EMPTY The chat title is empty CHAT_TITLE_EMPTY The chat title is empty
CHAT_TOO_BIG The chat is too big for this action CHAT_TOO_BIG The chat is too big for this action
CODE_EMPTY The provided code is empty CODE_EMPTY The provided code is empty
CODE_HASH_INVALID The provided code hash invalid CODE_HASH_INVALID The provided code hash invalid
CODE_INVALID The provided code is invalid (i.e. from email) CODE_INVALID The provided code is invalid (i.e. from email)
COLOR_INVALID The provided color is invalid
CONNECTION_API_ID_INVALID The provided API id is invalid CONNECTION_API_ID_INVALID The provided API id is invalid
CONNECTION_APP_VERSION_EMPTY App version is empty CONNECTION_APP_VERSION_EMPTY App version is empty
CONNECTION_DEVICE_MODEL_EMPTY The device model is empty CONNECTION_DEVICE_MODEL_EMPTY The device model is empty
@ -77,8 +103,11 @@ CONNECTION_SYSTEM_EMPTY The connection to the system is empty
CONNECTION_SYSTEM_LANG_CODE_EMPTY The system language code is empty CONNECTION_SYSTEM_LANG_CODE_EMPTY The system language code is empty
CONTACT_ADD_MISSING Contact to add is missing CONTACT_ADD_MISSING Contact to add is missing
CONTACT_ID_INVALID The provided contact id is invalid CONTACT_ID_INVALID The provided contact id is invalid
CONTACT_MISSING The specified user is not a contact.
CONTACT_NAME_EMPTY The provided contact name is empty CONTACT_NAME_EMPTY The provided contact name is empty
CONTACT_REQ_MISSING Missing contact request CONTACT_REQ_MISSING Missing contact request
CREATE_CALL_FAILED An error occurred while creating the call
CURRENCY_TOTAL_AMOUNT_INVALID The total amount of all prices is invalid
DATA_INVALID The encrypted data is invalid DATA_INVALID The encrypted data is invalid
DATA_JSON_INVALID The provided JSON data is invalid DATA_JSON_INVALID The provided JSON data is invalid
DATA_TOO_LONG Data too long DATA_TOO_LONG Data too long
@ -88,9 +117,14 @@ DH_G_A_INVALID The g_a parameter invalid
DOCUMENT_INVALID The document is invalid DOCUMENT_INVALID The document is invalid
EMAIL_HASH_EXPIRED The email hash expired and cannot be used to verify it EMAIL_HASH_EXPIRED The email hash expired and cannot be used to verify it
EMAIL_INVALID The email provided is invalid EMAIL_INVALID The email provided is invalid
EMAIL_NOT_ALLOWED This email is not allowed
EMAIL_NOT_SETUP In order to change the login email with emailVerifyPurposeLoginChange, an existing login email must already be set using emailVerifyPurposeLoginSetup.
EMAIL_UNCONFIRMED Email unconfirmed EMAIL_UNCONFIRMED Email unconfirmed
EMAIL_UNCONFIRMED_X The provided email isn't confirmed, {value} is the length of the verification code that was just sent to the email EMAIL_UNCONFIRMED_X The provided email isn't confirmed, {value} is the length of the verification code that was just sent to the email
EMAIL_VERIFY_EXPIRED The verification email has expired EMAIL_VERIFY_EXPIRED The verification email has expired
EMOJI_INVALID The specified theme emoji is valid
EMOJI_MARKUP_INVALID The specified `video_emoji_markup` was invalid.
EMOJI_NOT_MODIFIED The theme wasn't changed
EMOTICON_EMPTY The emoticon parameter is empty EMOTICON_EMPTY The emoticon parameter is empty
EMOTICON_INVALID The emoticon parameter is invalid EMOTICON_INVALID The emoticon parameter is invalid
EMOTICON_STICKERPACK_MISSING The emoticon sticker pack you are trying to obtain is missing EMOTICON_STICKERPACK_MISSING The emoticon sticker pack you are trying to obtain is missing
@ -100,16 +134,24 @@ ENCRYPTION_ALREADY_DECLINED The secret chat is already declined
ENCRYPTION_DECLINED The secret chat was declined ENCRYPTION_DECLINED The secret chat was declined
ENCRYPTION_ID_INVALID The provided secret chat id is invalid ENCRYPTION_ID_INVALID The provided secret chat id is invalid
ENTITIES_TOO_LONG The entity provided contains data that is too long, or you passed too many entities to this message ENTITIES_TOO_LONG The entity provided contains data that is too long, or you passed too many entities to this message
ENTITY_BOUNDS_INVALID The message entity bounds are invalid
ENTITY_MENTION_USER_INVALID The mentioned entity is not an user ENTITY_MENTION_USER_INVALID The mentioned entity is not an user
ERROR_TEXT_EMPTY The provided error message is empty ERROR_TEXT_EMPTY The provided error message is empty
EXPIRE_DATE_INVALID The expiration date is invalid EXPIRE_DATE_INVALID The expiration date is invalid
EXPIRE_FORBIDDEN Expire forbidden
EXPORT_CARD_INVALID The provided card is invalid EXPORT_CARD_INVALID The provided card is invalid
EXTENDED_MEDIA_AMOUNT_INVALID The maximum amount of `star_count` should be less than the `stars_paid_post_amount_max`
EXTENDED_MEDIA_PEER_INVALID The specified chat type is invalid.
EXTENDED_MEDIA_TYPE_INVALID The specified extended media type is unsupported.
EXTERNAL_URL_INVALID The external media URL is invalid EXTERNAL_URL_INVALID The external media URL is invalid
FIELD_NAME_EMPTY The field with the name FIELD_NAME is missing FIELD_NAME_EMPTY The field with the name FIELD_NAME is missing
FIELD_NAME_INVALID The field with the name FIELD_NAME is invalid FIELD_NAME_INVALID The field with the name FIELD_NAME is invalid
FILE_CONTENT_TYPE_INVALID File content-type is invalid
FILE_EMTPY An empty file was provided
FILE_ID_INVALID The file id is invalid FILE_ID_INVALID The file id is invalid
FILE_MIGRATE_X The file is in Data Center No. {value} FILE_MIGRATE_X The file is in Data Center No. {value}
FILE_PARTS_INVALID Invalid number of parts. FILE_PARTS_INVALID Invalid number of parts.
FILE_PART_0_MISSING File part 0 missing
FILE_PART_EMPTY The file part sent is empty FILE_PART_EMPTY The file part sent is empty
FILE_PART_INVALID The file part number is invalid. FILE_PART_INVALID The file part number is invalid.
FILE_PART_LENGTH_INVALID The length of a file part is invalid FILE_PART_LENGTH_INVALID The length of a file part is invalid
@ -120,23 +162,38 @@ FILE_PART_X_MISSING Part {value} of the file is missing from storage
FILE_REFERENCE_EMPTY The file id contains an empty file reference, you must obtain a valid one by fetching the message from the origin context FILE_REFERENCE_EMPTY The file id contains an empty file reference, you must obtain a valid one by fetching the message from the origin context
FILE_REFERENCE_EXPIRED The file id contains an expired file reference, you must obtain a valid one by fetching the message from the origin context FILE_REFERENCE_EXPIRED The file id contains an expired file reference, you must obtain a valid one by fetching the message from the origin context
FILE_REFERENCE_INVALID The file id contains an invalid file reference, you must obtain a valid one by fetching the message from the origin context FILE_REFERENCE_INVALID The file id contains an invalid file reference, you must obtain a valid one by fetching the message from the origin context
FILE_TITLE_EMPTY An empty file title was specified
FILTER_ID_INVALID The specified filter ID is invalid FILTER_ID_INVALID The specified filter ID is invalid
FILTER_INCLUDE_EMPTY The filter include is empty
FILTER_NOT_SUPPORTED The specified filter cannot be used in this context
FILTER_TITLE_EMPTY The title field of the filter is empty
FIRSTNAME_INVALID The first name is invalid FIRSTNAME_INVALID The first name is invalid
FOLDER_ID_EMPTY The folder you tried to delete was already empty FOLDER_ID_EMPTY The folder you tried to delete was already empty
FOLDER_ID_INVALID The folder id is invalid FOLDER_ID_INVALID The folder id is invalid
FORM_ID_EXPIRED The specified id has expired.
FORUM_ENABLED You can't execute the specified action because the group is a [forum](https://core.telegram.org/api/forum), disable forum functionality to continue.
FRESH_CHANGE_ADMINS_FORBIDDEN You can't change administrator settings in this chat because your session was logged-in recently FRESH_CHANGE_ADMINS_FORBIDDEN You can't change administrator settings in this chat because your session was logged-in recently
FROM_MESSAGE_BOT_DISABLED Bots can't use fromMessage min constructors FROM_MESSAGE_BOT_DISABLED Bots can't use fromMessage min constructors
FROM_PEER_INVALID The from peer value is invalid FROM_PEER_INVALID The from peer value is invalid
GAME_BOT_INVALID You cannot send that game with the current bot GAME_BOT_INVALID You cannot send that game with the current bot
GENERAL_MODIFY_ICON_FORBIDDEN You can't modify the icon of the General topic.
GEO_POINT_INVALID Invalid geo point provided GEO_POINT_INVALID Invalid geo point provided
GIF_CONTENT_TYPE_INVALID GIF content-type invalid GIF_CONTENT_TYPE_INVALID GIF content-type invalid
GIF_ID_INVALID The provided gif/animation id is invalid GIF_ID_INVALID The provided gif/animation id is invalid
GIFT_SLUG_INVALID The specified slug is invalid.
GIFT_SLUG_EXPIRED The gift slug is expired
GRAPH_EXPIRED_RELOAD This graph has expired, please obtain a new graph token
GRAPH_INVALID_RELOAD Invalid graph token provided, please reload the stats and provide the updated token GRAPH_INVALID_RELOAD Invalid graph token provided, please reload the stats and provide the updated token
GRAPH_OUTDATED_RELOAD The graph data is outdated GRAPH_OUTDATED_RELOAD The graph data is outdated
GROUPCALL_ALREADY_DISCARDED The group call was already discarded
GROUPCALL_INVALID The specified group call is invalid
GROUPCALL_JOIN_MISSING You haven't joined this group call
GROUPCALL_NOT_MODIFIED Group call settings weren't modified
GROUPCALL_SSRC_DUPLICATE_MUCH Too many group call synchronization source duplicates GROUPCALL_SSRC_DUPLICATE_MUCH Too many group call synchronization source duplicates
GROUPED_MEDIA_INVALID The album contains invalid media GROUPED_MEDIA_INVALID The album contains invalid media
GROUP_CALL_INVALID The group call is invalid GROUP_CALL_INVALID The group call is invalid
HASH_INVALID The provided hash is invalid HASH_INVALID The provided hash is invalid
HIDE_REQUESTER_MISSING The join request was missing or was already handled
IMAGE_PROCESS_FAILED The server failed to process your image IMAGE_PROCESS_FAILED The server failed to process your image
IMPORT_FILE_INVALID The imported file is invalid IMPORT_FILE_INVALID The imported file is invalid
IMPORT_FORMAT_UNRECOGNIZED The imported format is unrecognized IMPORT_FORMAT_UNRECOGNIZED The imported format is unrecognized
@ -149,24 +206,40 @@ INPUT_FILTER_INVALID The filter is invalid for this query
INPUT_LAYER_INVALID The provided layer is invalid INPUT_LAYER_INVALID The provided layer is invalid
INPUT_METHOD_INVALID The method invoked is invalid in the current schema INPUT_METHOD_INVALID The method invoked is invalid in the current schema
INPUT_REQUEST_TOO_LONG The input request is too long INPUT_REQUEST_TOO_LONG The input request is too long
INPUT_TEXT_EMPTY The specified text is empty
INPUT_TEXT_TOO_LONG The specified text is too long.
INPUT_USER_DEACTIVATED The target user has been deleted/deactivated INPUT_USER_DEACTIVATED The target user has been deleted/deactivated
INVITES_TOO_MUCH The maximum number of per-folder invites specified by the `chatlist_invites_limit_default`/`chatlist_invites_limit_premium` was reached.
INVITE_FORBIDDEN_WITH_JOINAS If the user has anonymously joined a group call as a channel, they can't invite other users to the group call because that would cause deanonymization, because the invite would be sent using the original user ID, not the anonymized channel ID
INVITE_HASH_EMPTY The invite hash is empty INVITE_HASH_EMPTY The invite hash is empty
INVITE_HASH_EXPIRED The chat invite link is no longer valid INVITE_HASH_EXPIRED The chat invite link is no longer valid
INVITE_HASH_INVALID The invite link hash is invalid INVITE_HASH_INVALID The invite link hash is invalid
INVITE_REQUEST_SENT The request to join this chat or channel has been successfully sent
INVITE_REVOKED_MISSING The action required a chat invite link to be revoked first INVITE_REVOKED_MISSING The action required a chat invite link to be revoked first
INVITE_SLUG_EMPTY The invite slug is empty
INVITE_SLUG_EXPIRED The invite slug is expired
INVOICE_PAYLOAD_INVALID The specified invoice payload is invalid
JOIN_AS_PEER_INVALID The specified peer cannot be used to join a group call
LANG_CODE_INVALID The specified language code is invalid
LANG_CODE_NOT_SUPPORTED The specified language code is not supported
LANG_PACK_INVALID The provided language pack is invalid LANG_PACK_INVALID The provided language pack is invalid
LASTNAME_INVALID The last name is invalid LASTNAME_INVALID The last name is invalid
LIMIT_INVALID The limit parameter is invalid LIMIT_INVALID The limit parameter is invalid
LINK_NOT_MODIFIED The chat link was not modified because you tried to link to the same target LINK_NOT_MODIFIED The chat link was not modified because you tried to link to the same target
LOCATION_INVALID The file location is invalid LOCATION_INVALID The file location is invalid
MAX_DATE_INVALID The specified maximum date is invalid
MAX_ID_INVALID The max_id parameter is invalid MAX_ID_INVALID The max_id parameter is invalid
MAX_QTS_INVALID The provided QTS is invalid MAX_QTS_INVALID The provided QTS is invalid
MD5_CHECKSUM_INVALID The file's checksum did not match the md5_checksum parameter MD5_CHECKSUM_INVALID The file's checksum did not match the md5_checksum parameter
MEDIA_CAPTION_TOO_LONG The media caption is too long MEDIA_CAPTION_TOO_LONG The media caption is too long
MEDIA_EMPTY The media you tried to send is invalid MEDIA_EMPTY The media you tried to send is invalid
MEDIA_FILE_INVALID The provided media file is invalid
MEDIA_GROUPED_INVALID You tried to send media of different types in an album
MEDIA_INVALID The media is invalid MEDIA_INVALID The media is invalid
MEDIA_NEW_INVALID The new media to edit the message with is invalid MEDIA_NEW_INVALID The new media to edit the message with is invalid
MEDIA_PREV_INVALID The previous media cannot be edited with anything else MEDIA_PREV_INVALID The previous media cannot be edited with anything else
MEDIA_TTL_INVALID The media ttl is invalid
MEDIA_VIDEO_STORY_MISSING The media does not have a photo or a video
MEGAGROUP_ID_INVALID The supergroup is invalid MEGAGROUP_ID_INVALID The supergroup is invalid
MEGAGROUP_PREHISTORY_HIDDEN The action failed because the supergroup has the pre-history hidden MEGAGROUP_PREHISTORY_HIDDEN The action failed because the supergroup has the pre-history hidden
MEGAGROUP_REQUIRED The request can only be used with a supergroup MEGAGROUP_REQUIRED The request can only be used with a supergroup
@ -178,11 +251,16 @@ MESSAGE_NOT_MODIFIED The message was not modified because you tried to edit it u
MESSAGE_POLL_CLOSED You can't interact with a closed poll MESSAGE_POLL_CLOSED You can't interact with a closed poll
MESSAGE_TOO_LONG The message text is too long MESSAGE_TOO_LONG The message text is too long
METHOD_INVALID The API method is invalid and cannot be used METHOD_INVALID The API method is invalid and cannot be used
MIN_DATE_INVALID The specified minimum date is invalid
MSG_ID_INVALID The message ID used in the peer was invalid MSG_ID_INVALID The message ID used in the peer was invalid
MSG_TOO_OLD chat_read_mark_expire_period have passed since the message was sent, read receipts were deleted
MSG_VOICE_MISSING The message does not contain a voice message
MSG_WAIT_FAILED A waiting call returned an error MSG_WAIT_FAILED A waiting call returned an error
MULTI_MEDIA_TOO_LONG The album/media group contains too many items MULTI_MEDIA_TOO_LONG The album/media group contains too many items
NEW_SALT_INVALID The new salt is invalid NEW_SALT_INVALID The new salt is invalid
NEW_SETTINGS_EMPTY No password is set on the current account, and no new password was specified in `new_settings`
NEW_SETTINGS_INVALID The new settings are invalid NEW_SETTINGS_INVALID The new settings are invalid
NOGENERAL_HIDE_FORBIDDEN The hidden parameter is only valid for the General topic message_thread_id=1
NEXT_OFFSET_INVALID The next offset value is invalid NEXT_OFFSET_INVALID The next offset value is invalid
OFFSET_INVALID The offset parameter is invalid OFFSET_INVALID The offset parameter is invalid
OFFSET_PEER_ID_INVALID The provided offset peer is invalid OFFSET_PEER_ID_INVALID The provided offset peer is invalid
@ -192,6 +270,8 @@ PACK_SHORT_NAME_INVALID Invalid sticker pack name. It must begin with a letter,
PACK_SHORT_NAME_OCCUPIED A sticker pack with this name already exists PACK_SHORT_NAME_OCCUPIED A sticker pack with this name already exists
PACK_TITLE_INVALID The sticker pack title is invalid PACK_TITLE_INVALID The sticker pack title is invalid
PARTICIPANTS_TOO_FEW The chat doesn't have enough participants PARTICIPANTS_TOO_FEW The chat doesn't have enough participants
PARTICIPANT_ID_INVALID The specified participant ID is invalid
PARTICIPANT_JOIN_MISSING Trying to enable a presentation, when the user hasn't joined the Video Chat with phone.joinGroupCall
PARTICIPANT_VERSION_OUTDATED The other participant is using an outdated Telegram app version PARTICIPANT_VERSION_OUTDATED The other participant is using an outdated Telegram app version
PASSWORD_EMPTY The password provided is empty PASSWORD_EMPTY The password provided is empty
PASSWORD_HASH_INVALID The two-step verification password is invalid PASSWORD_HASH_INVALID The two-step verification password is invalid
@ -201,6 +281,7 @@ PASSWORD_REQUIRED The two-step verification password is required for this method
PASSWORD_TOO_FRESH_X The two-step verification password was added recently and you are required to wait {value} seconds PASSWORD_TOO_FRESH_X The two-step verification password was added recently and you are required to wait {value} seconds
PAYMENT_PROVIDER_INVALID The payment provider was not recognised or its token was invalid PAYMENT_PROVIDER_INVALID The payment provider was not recognised or its token was invalid
PEER_FLOOD The method can't be used because your account is currently limited PEER_FLOOD The method can't be used because your account is currently limited
PEER_HISTORY_EMPTY Peer history empty
PEER_ID_INVALID The peer id being used is invalid or not known yet. Make sure you meet the peer before interacting with it PEER_ID_INVALID The peer id being used is invalid or not known yet. Make sure you meet the peer before interacting with it
PEER_ID_NOT_SUPPORTED The provided peer id is not supported PEER_ID_NOT_SUPPORTED The provided peer id is not supported
PERSISTENT_TIMESTAMP_EMPTY The pts argument is empty PERSISTENT_TIMESTAMP_EMPTY The pts argument is empty
@ -209,6 +290,8 @@ PHONE_CODE_EMPTY The phone code is missing
PHONE_CODE_EXPIRED The confirmation code has expired PHONE_CODE_EXPIRED The confirmation code has expired
PHONE_CODE_HASH_EMPTY The phone code hash is missing PHONE_CODE_HASH_EMPTY The phone code hash is missing
PHONE_CODE_INVALID The confirmation code is invalid PHONE_CODE_INVALID The confirmation code is invalid
PHONE_HASH_EXPIRED An invalid or expired phone_code_hash was provided
PHONE_NOT_OCCUPIED No user is associated to the specified phone number
PHONE_NUMBER_APP_SIGNUP_FORBIDDEN You can't sign up using this app PHONE_NUMBER_APP_SIGNUP_FORBIDDEN You can't sign up using this app
PHONE_NUMBER_BANNED The phone number is banned from Telegram and cannot be used PHONE_NUMBER_BANNED The phone number is banned from Telegram and cannot be used
PHONE_NUMBER_FLOOD This number has tried to login too many times PHONE_NUMBER_FLOOD This number has tried to login too many times
@ -229,19 +312,26 @@ PHOTO_SAVE_FILE_INVALID The photo you tried to send cannot be saved by Telegram
PHOTO_THUMB_URL_EMPTY The photo thumb URL is empty PHOTO_THUMB_URL_EMPTY The photo thumb URL is empty
PHOTO_THUMB_URL_INVALID The photo thumb URL is invalid PHOTO_THUMB_URL_INVALID The photo thumb URL is invalid
PINNED_DIALOGS_TOO_MUCH Too many pinned dialogs PINNED_DIALOGS_TOO_MUCH Too many pinned dialogs
PINNED_TOPIC_NOT_MODIFIED The pinned topic was not modified.
PIN_RESTRICTED You can't pin messages in private chats with other people PIN_RESTRICTED You can't pin messages in private chats with other people
POLL_ANSWERS_INVALID The poll answers are invalid POLL_ANSWERS_INVALID The poll answers are invalid
POLL_ANSWER_INVALID One of the poll answers is not acceptable
POLL_OPTION_DUPLICATE A duplicate option was sent in the same poll POLL_OPTION_DUPLICATE A duplicate option was sent in the same poll
POLL_OPTION_INVALID A poll option used invalid data (the data may be too long) POLL_OPTION_INVALID A poll option used invalid data (the data may be too long)
POLL_QUESTION_INVALID The poll question is invalid POLL_QUESTION_INVALID The poll question is invalid
POLL_UNSUPPORTED This layer does not support polls in the invoked method POLL_UNSUPPORTED This layer does not support polls in the invoked method
POLL_VOTE_REQUIRED Cast a vote in the poll before calling this method POLL_VOTE_REQUIRED Cast a vote in the poll before calling this method
PREMIUM_ACCOUNT_REQUIRED The method requires a premium user account
PREMIUM_GIFTCODE_WAS_REFUNDED This gift code can't be redeemed because the giveaway organizer requested a refund
PRICING_CHAT_INVALID This chat chat doesn't support subscription link.
PRIVACY_KEY_INVALID The privacy key is invalid PRIVACY_KEY_INVALID The privacy key is invalid
PRIVACY_TOO_LONG Your privacy exception list has exceeded the maximum capacity PRIVACY_TOO_LONG Your privacy exception list has exceeded the maximum capacity
PRIVACY_VALUE_INVALID The privacy value is invalid PRIVACY_VALUE_INVALID The privacy value is invalid
PUBLIC_KEY_REQUIRED A public key is required
QUERY_ID_EMPTY The query ID is empty QUERY_ID_EMPTY The query ID is empty
QUERY_ID_INVALID The callback query id is invalid QUERY_ID_INVALID The callback query id is invalid
QUERY_TOO_SHORT The query is too short QUERY_TOO_SHORT The query is too short
QUIZ_ANSWER_MISSING You can forward a quiz while hiding the original author only after choosing an option in the quiz
QUIZ_CORRECT_ANSWERS_EMPTY The correct answers of the quiz are empty QUIZ_CORRECT_ANSWERS_EMPTY The correct answers of the quiz are empty
QUIZ_CORRECT_ANSWERS_TOO_MUCH The quiz contains too many correct answers QUIZ_CORRECT_ANSWERS_TOO_MUCH The quiz contains too many correct answers
QUIZ_CORRECT_ANSWER_INVALID The correct answers of the quiz are invalid QUIZ_CORRECT_ANSWER_INVALID The correct answers of the quiz are invalid
@ -257,33 +347,46 @@ REPLY_MARKUP_BUY_EMPTY Reply markup for buy button empty
REPLY_MARKUP_GAME_EMPTY The provided reply markup for the game is empty REPLY_MARKUP_GAME_EMPTY The provided reply markup for the game is empty
REPLY_MARKUP_INVALID The provided reply markup is invalid REPLY_MARKUP_INVALID The provided reply markup is invalid
REPLY_MARKUP_TOO_LONG The reply markup is too long REPLY_MARKUP_TOO_LONG The reply markup is too long
REPLY_MESSAGE_ID_INVALID The reply message id is invalid
RESET_REQUEST_MISSING No password reset is in progress
RESULTS_TOO_MUCH The result contains too many items RESULTS_TOO_MUCH The result contains too many items
RESULT_ID_DUPLICATE The result contains items with duplicated identifiers RESULT_ID_DUPLICATE The result contains items with duplicated identifiers
RESULT_ID_EMPTY Result ID empty RESULT_ID_EMPTY Result ID empty
RESULT_ID_INVALID The given result cannot be used to send the selection to the bot RESULT_ID_INVALID The given result cannot be used to send the selection to the bot
REACTIONS_TOO_MANY Currently, non-premium users, can set up to one reaction per message
RESULT_TYPE_INVALID The result type is invalid RESULT_TYPE_INVALID The result type is invalid
REVOTE_NOT_ALLOWED You cannot change your vote REVOTE_NOT_ALLOWED You cannot change your vote
RIGHTS_NOT_MODIFIED The new admin rights are equal to the old rights, no change was made
RSA_DECRYPT_FAILED Internal RSA decryption failed RSA_DECRYPT_FAILED Internal RSA decryption failed
SCHEDULE_BOT_NOT_ALLOWED Bots are not allowed to schedule messages SCHEDULE_BOT_NOT_ALLOWED Bots are not allowed to schedule messages
SCHEDULE_DATE_INVALID Invalid schedule date provided SCHEDULE_DATE_INVALID Invalid schedule date provided
SCHEDULE_DATE_TOO_LATE The date you tried to schedule is too far in the future (more than one year) SCHEDULE_DATE_TOO_LATE The date you tried to schedule is too far in the future (more than one year)
SCHEDULE_STATUS_PRIVATE You cannot schedule a message until the person comes online if their privacy does not show this information SCHEDULE_STATUS_PRIVATE You cannot schedule a message until the person comes online if their privacy does not show this information
SCHEDULE_TOO_MUCH You tried to schedule too many messages in this chat SCHEDULE_TOO_MUCH You tried to schedule too many messages in this chat
SCORE_INVALID The specified game score is invalid
SEARCH_QUERY_EMPTY The search query is empty SEARCH_QUERY_EMPTY The search query is empty
SEARCH_WITH_LINK_NOT_SUPPORTED You cannot provide a search query and an invite link at the same time
SECONDS_INVALID The seconds interval is invalid SECONDS_INVALID The seconds interval is invalid
SEND_AS_PEER_INVALID You can't send messages as the specified peer
SEND_MESSAGE_MEDIA_INVALID The message media is invalid SEND_MESSAGE_MEDIA_INVALID The message media is invalid
SEND_MESSAGE_TYPE_INVALID The message type is invalid SEND_MESSAGE_TYPE_INVALID The message type is invalid
SESSION_TOO_FRESH_X You can't do this action because the current session was logged-in recently SESSION_TOO_FRESH_X You can't do this action because the current session was logged-in recently
SETTINGS_INVALID Invalid settings were provided SETTINGS_INVALID Invalid settings were provided
SHA256_HASH_INVALID The provided SHA256 hash is invalid SHA256_HASH_INVALID The provided SHA256 hash is invalid
SHORTNAME_OCCUPY_FAILED An error occurred when trying to register the short-name used for the sticker pack. Try a different name SHORTNAME_OCCUPY_FAILED An error occurred when trying to register the short-name used for the sticker pack. Try a different name
SHORT_NAME_INVALID The specified short name is invalid
SHORT_NAME_OCCUPIED The specified short name is already in use
SLOWMODE_MULTI_MSGS_DISABLED Slowmode is enabled, you cannot forward multiple messages to this group SLOWMODE_MULTI_MSGS_DISABLED Slowmode is enabled, you cannot forward multiple messages to this group
SMS_CODE_CREATE_FAILED An error occurred while creating the SMS code SMS_CODE_CREATE_FAILED An error occurred while creating the SMS code
SRP_ID_INVALID Invalid SRP ID provided SRP_ID_INVALID Invalid SRP ID provided
SRP_PASSWORD_CHANGED The password has changed SRP_PASSWORD_CHANGED The password has changed
STARGIFT_ALREADY_CONVERTED The provided star gift already converted to stars
STARGIFT_ALREADY_UPGRADED This star gift was already upgraded before
STARGIFT_USAGE_LIMITED The star gift usage is limited
START_PARAM_EMPTY The start parameter is empty START_PARAM_EMPTY The start parameter is empty
START_PARAM_INVALID The start parameter is invalid START_PARAM_INVALID The start parameter is invalid
START_PARAM_TOO_LONG The start parameter is too long START_PARAM_TOO_LONG The start parameter is too long
STICKERPACK_STICKERS_TOO_MUCH There are too many stickers in this stickerpack, you can't add any more
STICKERSET_INVALID The requested sticker set is invalid STICKERSET_INVALID The requested sticker set is invalid
STICKERSET_NOT_MODIFIED The sticker set is not modified STICKERSET_NOT_MODIFIED The sticker set is not modified
STICKERS_EMPTY The sticker provided is empty STICKERS_EMPTY The sticker provided is empty
@ -291,27 +394,55 @@ STICKERS_TOO_MUCH Too many stickers in the set
STICKER_DOCUMENT_INVALID The sticker document is invalid STICKER_DOCUMENT_INVALID The sticker document is invalid
STICKER_EMOJI_INVALID The sticker emoji is invalid STICKER_EMOJI_INVALID The sticker emoji is invalid
STICKER_FILE_INVALID The sticker file is invalid STICKER_FILE_INVALID The sticker file is invalid
STICKER_GIF_DIMENSIONS The specified video sticker has invalid dimensions
STICKER_ID_INVALID The provided sticker id is invalid STICKER_ID_INVALID The provided sticker id is invalid
STICKER_INVALID The provided sticker is invalid STICKER_INVALID The provided sticker is invalid
STICKER_MIME_INVALID Make sure to pass a valid image file for the right InputFile parameter
STICKER_PNG_DIMENSIONS The sticker png dimensions are invalid STICKER_PNG_DIMENSIONS The sticker png dimensions are invalid
STICKER_PNG_NOPNG Stickers must be png files but the provided image was not a png STICKER_PNG_NOPNG Stickers must be png files but the provided image was not a png
STICKER_TGS_NODOC You must send the animated sticker as a document
STICKER_TGS_NOTGS A tgs sticker file was expected, but something else was provided STICKER_TGS_NOTGS A tgs sticker file was expected, but something else was provided
STICKER_VIDEO_NOWEBM A webm video file was expected, but something else was provided
STICKER_THUMB_PNG_NOPNG A png sticker thumbnail file was expected, but something else was provided STICKER_THUMB_PNG_NOPNG A png sticker thumbnail file was expected, but something else was provided
STICKER_VIDEO_BIG The specified video sticker is too big
STICKER_VIDEO_NODOC You must send the video sticker as a document
STICKER_VIDEO_NOWEBM A webm video file was expected, but something else was provided
STORY_ID_EMPTY You specified no story IDs.
STORY_ID_INVALID The specified story ID is invalid.
STORY_NOT_MODIFIED The new story information you passed is equal to the previous story information, thus it wasn't modified.
STORY_PERIOD_INVALID The specified story period is invalid for this account.
STORIES_TOO_MUCH Too many stories in the current account
STORY_SEND_FLOOD_WEEKLY_X You've hit the weekly story limit, wait for the specified number of seconds before posting a new story.
STORY_SEND_FLOOD_MONTHLY_X You've hit the monthly story limit, wait for the specified number of seconds before posting a new story.
STORY_PERIOD_INVALID The story period is invalid
SUBSCRIPTION_PERIOD_INVALID The subscription period is invalid.
SWITCH_PM_TEXT_EMPTY The switch_pm.text field was empty
TAKEOUT_INVALID The takeout id is invalid TAKEOUT_INVALID The takeout id is invalid
TAKEOUT_REQUIRED The method must be invoked inside a takeout session TAKEOUT_REQUIRED The method must be invoked inside a takeout session
TEMP_AUTH_KEY_ALREADY_BOUND The passed temporary key is already bound to another perm_auth_key_id
TEMP_AUTH_KEY_EMPTY The temporary auth key provided is empty TEMP_AUTH_KEY_EMPTY The temporary auth key provided is empty
THEME_FILE_INVALID Invalid theme file provided THEME_FILE_INVALID Invalid theme file provided
THEME_FORMAT_INVALID Invalid theme format provided THEME_FORMAT_INVALID Invalid theme format provided
THEME_INVALID Invalid theme provided THEME_INVALID Invalid theme provided
THEME_MIME_INVALID You cannot create this theme because the mime-type is invalid THEME_MIME_INVALID You cannot create this theme because the mime-type is invalid
THEME_TITLE_INVALID The specified theme title is invalid
TITLE_INVALID The specified stickerpack title is invalid
TMP_PASSWORD_DISABLED The temporary password is disabled TMP_PASSWORD_DISABLED The temporary password is disabled
TMP_PASSWORD_INVALID The temporary password is invalid TMP_PASSWORD_INVALID The temporary password is invalid
TOKEN_INVALID The provided token is invalid TOKEN_INVALID The provided token is invalid
TOPIC_CLOSED The topic was closed
TOPIC_DELETED The topic was deleted
TOPIC_CLOSE_SEPARATELY The close flag cannot be provided together with any of the other flags.
TOPIC_HIDE_SEPARATELY The hide flag cannot be provided together with any of the other flags.
TOPIC_ID_INVALID The provided topic ID is invalid
TOPIC_NOT_MODIFIED The topic was not modified
TOPIC_TITLE_EMPTY The specified topic title is empty.
TO_LANG_INVALID The specified destination language is invalid
TRANSCRIPTION_FAILED Telegram is having internal problems. Please try again later to transcribe the audio.
TTL_DAYS_INVALID The provided TTL days is invalid TTL_DAYS_INVALID The provided TTL days is invalid
TTL_MEDIA_INVALID The media does not support self-destruction TTL_MEDIA_INVALID The media does not support self-destruction
TYPES_EMPTY The types parameter is empty TYPES_EMPTY The types parameter is empty
TYPE_CONSTRUCTOR_INVALID The type constructor is invalid TYPE_CONSTRUCTOR_INVALID The type constructor is invalid
UNKNOWN_ERROR Unknown error
UNTIL_DATE_INVALID That date parameter is invalid UNTIL_DATE_INVALID That date parameter is invalid
URL_INVALID The URL provided is invalid URL_INVALID The URL provided is invalid
USAGE_LIMIT_INVALID The usage limit is invalid USAGE_LIMIT_INVALID The usage limit is invalid
@ -319,10 +450,12 @@ USERNAME_INVALID The username is invalid
USERNAME_NOT_MODIFIED The username was not modified because you tried to edit it using the same one USERNAME_NOT_MODIFIED The username was not modified because you tried to edit it using the same one
USERNAME_NOT_OCCUPIED The username is not occupied by anyone USERNAME_NOT_OCCUPIED The username is not occupied by anyone
USERNAME_OCCUPIED The username is already in use by someone else USERNAME_OCCUPIED The username is already in use by someone else
USERNAME_PURCHASE_AVAILABLE The username is available for purchase on fragment.com
USERPIC_UPLOAD_REQUIRED You are required to upload a profile picture for this action USERPIC_UPLOAD_REQUIRED You are required to upload a profile picture for this action
USERS_TOO_FEW Not enough users (to create a chat, for example) USERS_TOO_FEW Not enough users (to create a chat, for example)
USERS_TOO_MUCH The maximum number of users has been exceeded (to create a chat, for example) USERS_TOO_MUCH The maximum number of users has been exceeded (to create a chat, for example)
USER_ADMIN_INVALID The action requires admin privileges. Probably you tried to edit admin privileges on someone you don't have rights to USER_ADMIN_INVALID The action requires admin privileges. Probably you tried to edit admin privileges on someone you don't have rights to
USER_ALREADY_INVITED You have already invited this user
USER_ALREADY_PARTICIPANT The user is already a participant of this chat USER_ALREADY_PARTICIPANT The user is already a participant of this chat
USER_BANNED_IN_CHANNEL You are limited from sending messages in supergroups/channels, check @SpamBot for details USER_BANNED_IN_CHANNEL You are limited from sending messages in supergroups/channels, check @SpamBot for details
USER_BLOCKED The user is blocked USER_BLOCKED The user is blocked
@ -338,12 +471,17 @@ USER_IS_BOT A bot cannot send messages to other bots or to itself
USER_KICKED This user was kicked from this chat USER_KICKED This user was kicked from this chat
USER_NOT_MUTUAL_CONTACT The user is not a mutual contact USER_NOT_MUTUAL_CONTACT The user is not a mutual contact
USER_NOT_PARTICIPANT The user is not a member of this chat USER_NOT_PARTICIPANT The user is not a member of this chat
USER_PUBLIC_MISSING The accounts username is missing
USER_VOLUME_INVALID The specified user volume is invalid
VIDEO_CONTENT_TYPE_INVALID The video content type is invalid (i.e.: not streamable) VIDEO_CONTENT_TYPE_INVALID The video content type is invalid (i.e.: not streamable)
VIDEO_FILE_INVALID The video file is invalid VIDEO_FILE_INVALID The video file is invalid
VIDEO_TITLE_EMPTY The specified video title is empty
VOICE_MESSAGES_FORBIDDEN This user's privacy settings forbid you from sending voice messages
VOLUME_LOC_NOT_FOUND The volume location can't be found VOLUME_LOC_NOT_FOUND The volume location can't be found
WALLPAPER_FILE_INVALID The provided file cannot be used as a wallpaper WALLPAPER_FILE_INVALID The provided file cannot be used as a wallpaper
WALLPAPER_INVALID The input wallpaper was not valid WALLPAPER_INVALID The input wallpaper was not valid
WALLPAPER_MIME_INVALID The wallpaper mime type is invalid WALLPAPER_MIME_INVALID The wallpaper mime type is invalid
WALLPAPER_NOT_FOUND The specified wallpaper could not be found.
WC_CONVERT_URL_INVALID WC convert URL invalid WC_CONVERT_URL_INVALID WC convert URL invalid
WEBDOCUMENT_INVALID The web document is invalid WEBDOCUMENT_INVALID The web document is invalid
WEBDOCUMENT_MIME_INVALID The web document mime type is invalid WEBDOCUMENT_MIME_INVALID The web document mime type is invalid
@ -352,5 +490,19 @@ WEBDOCUMENT_URL_EMPTY The web document URL is empty
WEBDOCUMENT_URL_INVALID The web document URL is invalid WEBDOCUMENT_URL_INVALID The web document URL is invalid
WEBPAGE_CURL_FAILED Telegram server could not fetch the provided URL WEBPAGE_CURL_FAILED Telegram server could not fetch the provided URL
WEBPAGE_MEDIA_EMPTY The URL doesn't contain any valid media WEBPAGE_MEDIA_EMPTY The URL doesn't contain any valid media
WEBPAGE_NOT_FOUND Webpage not found
WEBPAGE_URL_INVALID Webpage url invalid
WEBPUSH_AUTH_INVALID The specified web push authentication secret is invalid
WEBPUSH_KEY_INVALID The specified web push elliptic curve Diffie-Hellman public key is invalid
WEBPUSH_TOKEN_INVALID The specified web push token is invalid
YOU_BLOCKED_USER You blocked this user YOU_BLOCKED_USER You blocked this user
ENTITY_BOUNDS_INVALID The message entity bounds are invalid STORIES_NEVER_CREATED You have never created any stories
MEDIA_FILE_INVALID The provided media file is invalid
CHANNEL_FORUM_MISSING The channel forum is missing
TTL_PERIOD_INVALID The provided TTL period is invalid
BOOSTS_REQUIRED The specified channel must first be boosted by its users in order to perform this action
BOOSTS_EMPTY You can't modify the icon of the General topic.
BOOST_NOT_MODIFIED You're already boosting the specified channel.
PAYMENT_REQUIRED The payment is required
BOOST_PEER_INVALID The specified `boost_peer` is invalid.
STARS_AMOUNT_INVALID The specified `amount` is invalid.
1 id message
2 ABOUT_TOO_LONG The provided about/bio text is too long
3 ACCESS_TOKEN_EXPIRED The bot token has expired
4 ACCESS_TOKEN_INVALID The bot access token is invalid
5 ADDRESS_INVALID The specified geopoint address is invalid.
6 ADMINS_TOO_MUCH The chat has too many administrators
7 ADMIN_ID_INVALID The specified admin ID is invalid
8 ADMIN_RANK_EMOJI_NOT_ALLOWED Emoji are not allowed in custom administrator titles
9 ADMIN_RANK_INVALID The custom administrator title is invalid or too long
10 ADMIN_RIGHTS_EMPTY The chatAdminRights constructor passed in keyboardButtonRequestPeer.peer_type.user_admin_rights has no rights set (i.e. flags is 0).
11 ALBUM_PHOTOS_TOO_MANY Too many photos were included in the album
12 API_ID_INVALID The api_id/api_hash combination is invalid
13 API_ID_PUBLISHED_FLOOD You are using an API key that is limited on the server side because it was published somewhere
14 ARTICLE_TITLE_EMPTY The article title is empty
15 AUDIO_CONTENT_URL_EMPTY The remote URL specified in the content field is empty
16 AUDIO_TITLE_EMPTY The title attribute of the audio is empty
17 AUTH_BYTES_INVALID The authorization bytes are invalid
18 AUTH_TOKEN_ALREADY_ACCEPTED The authorization token was already used
19 AUTH_TOKEN_EXCEPTION An error occurred while importing the auth token
20 AUTH_TOKEN_EXPIRED The provided authorization token has expired and the updated QR-code must be re-scanned
21 AUTH_TOKEN_INVALID An invalid authorization token was provided
22 AUTH_TOKEN_INVALID2 An invalid authorization token was provided
23 AUTH_TOKEN_INVALIDX The specified auth token is invalid
24 AUTOARCHIVE_NOT_AVAILABLE This feature is not yet enabled for your account due to it not receiving too many private messages from strangers
25 BANK_CARD_NUMBER_INVALID The credit card number is invalid
26 BANNED_RIGHTS_INVALID You provided a set of restrictions that is invalid
27 BASE_PORT_LOC_INVALID The base port location is invalid
28 BIRTHDAY_INVALID The age should be less than 150 year old in Telegram
29 BOTS_TOO_MUCH The chat has too many bots
30 BOT_CHANNELS_NA Bots can't edit admin privileges
31 BOT_COMMAND_DESCRIPTION_INVALID The command description was empty, too long or had invalid characters
32 BOT_COMMAND_INVALID The specified command is invalid
33 BOT_DOMAIN_INVALID The domain used for the auth button does not match the one configured in @BotFather
34 BOT_GAMES_DISABLED Bot games cannot be used in this type of chat
35 BOT_GROUPS_BLOCKED This bot can't be added to groups
36 BOT_INLINE_DISABLED The inline feature of the bot is disabled
37 BOT_INVALID This is not a valid bot
38 BOT_INVOICE_INVALID The provided invoice is invalid
39 BOT_METHOD_INVALID The method can't be used by bots
40 BOT_MISSING This method can only be run by a bot
41 BOT_ONESIDE_NOT_AVAIL Bots can't pin messages for one side only in private chats
42 BOT_PAYMENTS_DISABLED This method can only be run by a bot
43 BOT_POLLS_DISABLED Sending polls by bots has been disabled
44 BOT_RESPONSE_TIMEOUT The bot did not answer to the callback query in time
45 BOT_SCORE_NOT_MODIFIED The bot score was not modified
46 BROADCAST_CALLS_DISABLED Broadcast calls disabled
47 BROADCAST_ID_INVALID The channel is invalid
48 BROADCAST_PUBLIC_VOTERS_FORBIDDEN Polls with public voters cannot be sent in channels
49 BROADCAST_REQUIRED The request can only be used with a channel
50 BUSINESS_BOT_MISSING Business bot missing
51 BUTTON_DATA_INVALID The button callback data is invalid or too large
52 BUTTON_ID_INVALID The button_id parameter is invalid
53 BUTTON_TEXT_INVALID The specified button text is invalid
54 BUTTON_TYPE_INVALID The type of one of the buttons you provided is invalid
55 BUTTON_URL_INVALID The button url is invalid
56 BUTTON_USER_PRIVACY_RESTRICTED The privacy settings of the user specified in a keyboard button do not allow creating such button
57 CALL_ALREADY_ACCEPTED The call is already accepted
58 CALL_ALREADY_DECLINED The call is already declined
59 CALL_PEER_INVALID The provided call peer object is invalid
60 CALL_PROTOCOL_FLAGS_INVALID Call protocol flags invalid
61 CDN_METHOD_INVALID The method can't be used on CDN DCs
62 CHANNELS_ADMIN_LOCATED_TOO_MUCH The user has reached the limit of public geogroups
63 CHANNELS_ADMIN_PUBLIC_TOO_MUCH You are an administrator of too many public channels
64 CHANNELS_TOO_MUCH You have joined too many channels or supergroups, leave some and try again
65 CHANNEL_ADD_INVALID Internal error.
66 CHANNEL_BANNED The channel is banned
67 CHANNEL_ID_INVALID The specified supergroup ID is invalid.
68 CHANNEL_INVALID The channel parameter is invalid
69 CHANNEL_PARICIPANT_MISSING The current user is not in the channel
70 CHANNEL_PRIVATE The channel/supergroup is not accessible
71 CHANNEL_TOO_LARGE CHANNEL_TOO_BIG The channel is too large The channel too big
72 CHANNEL_TOO_LARGE Channel is too large to be deleted; this error is issued when trying to delete channels with more than 1000 members (subject to change).
73 CHARGE_ALREADY_REFUNDED The charge id was already used for a refund.
74 CHARGE_NOT_FOUND The charge id was not found.
75 CHATLIST_EXCLUDE_INVALID The specified `exclude_peers` are invalid.
76 CHAT_ABOUT_NOT_MODIFIED The chat about text was not modified because you tried to edit it using the same content
77 CHAT_ABOUT_TOO_LONG The chat about text is too long
78 CHAT_ADMIN_REQUIRED The method requires chat admin privileges
79 CHAT_DISCUSSION_UNALLOWED The chat discussion is not allowed
80 CHAT_FORWARDS_RESTRICTED The chat restricts forwarding content
81 CHAT_ID_EMPTY The provided chat id is empty
82 CHAT_ID_INVALID The chat id being used is invalid or not known yet. Make sure you see the chat before interacting with it
85 CHAT_LINK_EXISTS The action failed because the supergroup is linked to a channel
86 CHAT_NOT_MODIFIED The chat settings (title, permissions, photo, etc..) were not modified because you tried to edit them using the same content
87 CHAT_RESTRICTED The chat is restricted and cannot be used
88 CHAT_REVOKE_DATE_UNSUPPORTED `min_date` and `max_date` are not available for using with non-user peers
89 CHAT_SEND_INLINE_FORBIDDEN You cannot use inline bots to send messages in this chat
90 CHAT_TITLE_EMPTY The chat title is empty
91 CHAT_TOO_BIG The chat is too big for this action
92 CODE_EMPTY The provided code is empty
93 CODE_HASH_INVALID The provided code hash invalid
94 CODE_INVALID The provided code is invalid (i.e. from email)
95 COLOR_INVALID The provided color is invalid
96 CONNECTION_API_ID_INVALID The provided API id is invalid
97 CONNECTION_APP_VERSION_EMPTY App version is empty
98 CONNECTION_DEVICE_MODEL_EMPTY The device model is empty
103 CONNECTION_SYSTEM_LANG_CODE_EMPTY The system language code is empty
104 CONTACT_ADD_MISSING Contact to add is missing
105 CONTACT_ID_INVALID The provided contact id is invalid
106 CONTACT_MISSING The specified user is not a contact.
107 CONTACT_NAME_EMPTY The provided contact name is empty
108 CONTACT_REQ_MISSING Missing contact request
109 CREATE_CALL_FAILED An error occurred while creating the call
110 CURRENCY_TOTAL_AMOUNT_INVALID The total amount of all prices is invalid
111 DATA_INVALID The encrypted data is invalid
112 DATA_JSON_INVALID The provided JSON data is invalid
113 DATA_TOO_LONG Data too long
117 DOCUMENT_INVALID The document is invalid
118 EMAIL_HASH_EXPIRED The email hash expired and cannot be used to verify it
119 EMAIL_INVALID The email provided is invalid
120 EMAIL_NOT_ALLOWED This email is not allowed
121 EMAIL_NOT_SETUP In order to change the login email with emailVerifyPurposeLoginChange, an existing login email must already be set using emailVerifyPurposeLoginSetup.
122 EMAIL_UNCONFIRMED Email unconfirmed
123 EMAIL_UNCONFIRMED_X The provided email isn't confirmed, {value} is the length of the verification code that was just sent to the email
124 EMAIL_VERIFY_EXPIRED The verification email has expired
125 EMOJI_INVALID The specified theme emoji is valid
126 EMOJI_MARKUP_INVALID The specified `video_emoji_markup` was invalid.
127 EMOJI_NOT_MODIFIED The theme wasn't changed
128 EMOTICON_EMPTY The emoticon parameter is empty
129 EMOTICON_INVALID The emoticon parameter is invalid
130 EMOTICON_STICKERPACK_MISSING The emoticon sticker pack you are trying to obtain is missing
134 ENCRYPTION_DECLINED The secret chat was declined
135 ENCRYPTION_ID_INVALID The provided secret chat id is invalid
136 ENTITIES_TOO_LONG The entity provided contains data that is too long, or you passed too many entities to this message
137 ENTITY_BOUNDS_INVALID The message entity bounds are invalid
138 ENTITY_MENTION_USER_INVALID The mentioned entity is not an user
139 ERROR_TEXT_EMPTY The provided error message is empty
140 EXPIRE_DATE_INVALID The expiration date is invalid
141 EXPIRE_FORBIDDEN Expire forbidden
142 EXPORT_CARD_INVALID The provided card is invalid
143 EXTENDED_MEDIA_AMOUNT_INVALID The maximum amount of `star_count` should be less than the `stars_paid_post_amount_max`
144 EXTENDED_MEDIA_PEER_INVALID The specified chat type is invalid.
145 EXTENDED_MEDIA_TYPE_INVALID The specified extended media type is unsupported.
146 EXTERNAL_URL_INVALID The external media URL is invalid
147 FIELD_NAME_EMPTY The field with the name FIELD_NAME is missing
148 FIELD_NAME_INVALID The field with the name FIELD_NAME is invalid
149 FILE_CONTENT_TYPE_INVALID File content-type is invalid
150 FILE_EMTPY An empty file was provided
151 FILE_ID_INVALID The file id is invalid
152 FILE_MIGRATE_X The file is in Data Center No. {value}
153 FILE_PARTS_INVALID Invalid number of parts.
154 FILE_PART_0_MISSING File part 0 missing
155 FILE_PART_EMPTY The file part sent is empty
156 FILE_PART_INVALID The file part number is invalid.
157 FILE_PART_LENGTH_INVALID The length of a file part is invalid
162 FILE_REFERENCE_EMPTY The file id contains an empty file reference, you must obtain a valid one by fetching the message from the origin context
163 FILE_REFERENCE_EXPIRED The file id contains an expired file reference, you must obtain a valid one by fetching the message from the origin context
164 FILE_REFERENCE_INVALID The file id contains an invalid file reference, you must obtain a valid one by fetching the message from the origin context
165 FILE_TITLE_EMPTY An empty file title was specified
166 FILTER_ID_INVALID The specified filter ID is invalid
167 FILTER_INCLUDE_EMPTY The filter include is empty
168 FILTER_NOT_SUPPORTED The specified filter cannot be used in this context
169 FILTER_TITLE_EMPTY The title field of the filter is empty
170 FIRSTNAME_INVALID The first name is invalid
171 FOLDER_ID_EMPTY The folder you tried to delete was already empty
172 FOLDER_ID_INVALID The folder id is invalid
173 FORM_ID_EXPIRED The specified id has expired.
174 FORUM_ENABLED You can't execute the specified action because the group is a [forum](https://core.telegram.org/api/forum), disable forum functionality to continue.
175 FRESH_CHANGE_ADMINS_FORBIDDEN You can't change administrator settings in this chat because your session was logged-in recently
176 FROM_MESSAGE_BOT_DISABLED Bots can't use fromMessage min constructors
177 FROM_PEER_INVALID The from peer value is invalid
178 GAME_BOT_INVALID You cannot send that game with the current bot
179 GENERAL_MODIFY_ICON_FORBIDDEN You can't modify the icon of the General topic.
180 GEO_POINT_INVALID Invalid geo point provided
181 GIF_CONTENT_TYPE_INVALID GIF content-type invalid
182 GIF_ID_INVALID The provided gif/animation id is invalid
183 GIFT_SLUG_INVALID The specified slug is invalid.
184 GIFT_SLUG_EXPIRED The gift slug is expired
185 GRAPH_EXPIRED_RELOAD This graph has expired, please obtain a new graph token
186 GRAPH_INVALID_RELOAD Invalid graph token provided, please reload the stats and provide the updated token
187 GRAPH_OUTDATED_RELOAD The graph data is outdated
188 GROUPCALL_ALREADY_DISCARDED The group call was already discarded
189 GROUPCALL_INVALID The specified group call is invalid
190 GROUPCALL_JOIN_MISSING You haven't joined this group call
191 GROUPCALL_NOT_MODIFIED Group call settings weren't modified
192 GROUPCALL_SSRC_DUPLICATE_MUCH Too many group call synchronization source duplicates
193 GROUPED_MEDIA_INVALID The album contains invalid media
194 GROUP_CALL_INVALID The group call is invalid
195 HASH_INVALID The provided hash is invalid
196 HIDE_REQUESTER_MISSING The join request was missing or was already handled
197 IMAGE_PROCESS_FAILED The server failed to process your image
198 IMPORT_FILE_INVALID The imported file is invalid
199 IMPORT_FORMAT_UNRECOGNIZED The imported format is unrecognized
206 INPUT_LAYER_INVALID The provided layer is invalid
207 INPUT_METHOD_INVALID The method invoked is invalid in the current schema
208 INPUT_REQUEST_TOO_LONG The input request is too long
209 INPUT_TEXT_EMPTY The specified text is empty
210 INPUT_TEXT_TOO_LONG The specified text is too long.
211 INPUT_USER_DEACTIVATED The target user has been deleted/deactivated
212 INVITES_TOO_MUCH The maximum number of per-folder invites specified by the `chatlist_invites_limit_default`/`chatlist_invites_limit_premium` was reached.
213 INVITE_FORBIDDEN_WITH_JOINAS If the user has anonymously joined a group call as a channel, they can't invite other users to the group call because that would cause deanonymization, because the invite would be sent using the original user ID, not the anonymized channel ID
214 INVITE_HASH_EMPTY The invite hash is empty
215 INVITE_HASH_EXPIRED The chat invite link is no longer valid
216 INVITE_HASH_INVALID The invite link hash is invalid
217 INVITE_REQUEST_SENT The request to join this chat or channel has been successfully sent
218 INVITE_REVOKED_MISSING The action required a chat invite link to be revoked first
219 INVITE_SLUG_EMPTY The invite slug is empty
220 INVITE_SLUG_EXPIRED The invite slug is expired
221 INVOICE_PAYLOAD_INVALID The specified invoice payload is invalid
222 JOIN_AS_PEER_INVALID The specified peer cannot be used to join a group call
223 LANG_CODE_INVALID The specified language code is invalid
224 LANG_CODE_NOT_SUPPORTED The specified language code is not supported
225 LANG_PACK_INVALID The provided language pack is invalid
226 LASTNAME_INVALID The last name is invalid
227 LIMIT_INVALID The limit parameter is invalid
228 LINK_NOT_MODIFIED The chat link was not modified because you tried to link to the same target
229 LOCATION_INVALID The file location is invalid
230 MAX_DATE_INVALID The specified maximum date is invalid
231 MAX_ID_INVALID The max_id parameter is invalid
232 MAX_QTS_INVALID The provided QTS is invalid
233 MD5_CHECKSUM_INVALID The file's checksum did not match the md5_checksum parameter
234 MEDIA_CAPTION_TOO_LONG The media caption is too long
235 MEDIA_EMPTY The media you tried to send is invalid
236 MEDIA_FILE_INVALID The provided media file is invalid
237 MEDIA_GROUPED_INVALID You tried to send media of different types in an album
238 MEDIA_INVALID The media is invalid
239 MEDIA_NEW_INVALID The new media to edit the message with is invalid
240 MEDIA_PREV_INVALID The previous media cannot be edited with anything else
241 MEDIA_TTL_INVALID The media ttl is invalid
242 MEDIA_VIDEO_STORY_MISSING The media does not have a photo or a video
243 MEGAGROUP_ID_INVALID The supergroup is invalid
244 MEGAGROUP_PREHISTORY_HIDDEN The action failed because the supergroup has the pre-history hidden
245 MEGAGROUP_REQUIRED The request can only be used with a supergroup
251 MESSAGE_POLL_CLOSED You can't interact with a closed poll
252 MESSAGE_TOO_LONG The message text is too long
253 METHOD_INVALID The API method is invalid and cannot be used
254 MIN_DATE_INVALID The specified minimum date is invalid
255 MSG_ID_INVALID The message ID used in the peer was invalid
256 MSG_TOO_OLD chat_read_mark_expire_period have passed since the message was sent, read receipts were deleted
257 MSG_VOICE_MISSING The message does not contain a voice message
258 MSG_WAIT_FAILED A waiting call returned an error
259 MULTI_MEDIA_TOO_LONG The album/media group contains too many items
260 NEW_SALT_INVALID The new salt is invalid
261 NEW_SETTINGS_EMPTY No password is set on the current account, and no new password was specified in `new_settings`
262 NEW_SETTINGS_INVALID The new settings are invalid
263 NOGENERAL_HIDE_FORBIDDEN The hidden parameter is only valid for the General topic message_thread_id=1
264 NEXT_OFFSET_INVALID The next offset value is invalid
265 OFFSET_INVALID The offset parameter is invalid
266 OFFSET_PEER_ID_INVALID The provided offset peer is invalid
270 PACK_SHORT_NAME_OCCUPIED A sticker pack with this name already exists
271 PACK_TITLE_INVALID The sticker pack title is invalid
272 PARTICIPANTS_TOO_FEW The chat doesn't have enough participants
273 PARTICIPANT_ID_INVALID The specified participant ID is invalid
274 PARTICIPANT_JOIN_MISSING Trying to enable a presentation, when the user hasn't joined the Video Chat with phone.joinGroupCall
275 PARTICIPANT_VERSION_OUTDATED The other participant is using an outdated Telegram app version
276 PASSWORD_EMPTY The password provided is empty
277 PASSWORD_HASH_INVALID The two-step verification password is invalid
281 PASSWORD_TOO_FRESH_X The two-step verification password was added recently and you are required to wait {value} seconds
282 PAYMENT_PROVIDER_INVALID The payment provider was not recognised or its token was invalid
283 PEER_FLOOD The method can't be used because your account is currently limited
284 PEER_HISTORY_EMPTY Peer history empty
285 PEER_ID_INVALID The peer id being used is invalid or not known yet. Make sure you meet the peer before interacting with it
286 PEER_ID_NOT_SUPPORTED The provided peer id is not supported
287 PERSISTENT_TIMESTAMP_EMPTY The pts argument is empty
290 PHONE_CODE_EXPIRED The confirmation code has expired
291 PHONE_CODE_HASH_EMPTY The phone code hash is missing
292 PHONE_CODE_INVALID The confirmation code is invalid
293 PHONE_HASH_EXPIRED An invalid or expired phone_code_hash was provided
294 PHONE_NOT_OCCUPIED No user is associated to the specified phone number
295 PHONE_NUMBER_APP_SIGNUP_FORBIDDEN You can't sign up using this app
296 PHONE_NUMBER_BANNED The phone number is banned from Telegram and cannot be used
297 PHONE_NUMBER_FLOOD This number has tried to login too many times
312 PHOTO_THUMB_URL_EMPTY The photo thumb URL is empty
313 PHOTO_THUMB_URL_INVALID The photo thumb URL is invalid
314 PINNED_DIALOGS_TOO_MUCH Too many pinned dialogs
315 PINNED_TOPIC_NOT_MODIFIED The pinned topic was not modified.
316 PIN_RESTRICTED You can't pin messages in private chats with other people
317 POLL_ANSWERS_INVALID The poll answers are invalid
318 POLL_ANSWER_INVALID One of the poll answers is not acceptable
319 POLL_OPTION_DUPLICATE A duplicate option was sent in the same poll
320 POLL_OPTION_INVALID A poll option used invalid data (the data may be too long)
321 POLL_QUESTION_INVALID The poll question is invalid
322 POLL_UNSUPPORTED This layer does not support polls in the invoked method
323 POLL_VOTE_REQUIRED Cast a vote in the poll before calling this method
324 PREMIUM_ACCOUNT_REQUIRED The method requires a premium user account
325 PREMIUM_GIFTCODE_WAS_REFUNDED This gift code can't be redeemed because the giveaway organizer requested a refund
326 PRICING_CHAT_INVALID This chat chat doesn't support subscription link.
327 PRIVACY_KEY_INVALID The privacy key is invalid
328 PRIVACY_TOO_LONG Your privacy exception list has exceeded the maximum capacity
329 PRIVACY_VALUE_INVALID The privacy value is invalid
330 PUBLIC_KEY_REQUIRED A public key is required
331 QUERY_ID_EMPTY The query ID is empty
332 QUERY_ID_INVALID The callback query id is invalid
333 QUERY_TOO_SHORT The query is too short
334 QUIZ_ANSWER_MISSING You can forward a quiz while hiding the original author only after choosing an option in the quiz
335 QUIZ_CORRECT_ANSWERS_EMPTY The correct answers of the quiz are empty
336 QUIZ_CORRECT_ANSWERS_TOO_MUCH The quiz contains too many correct answers
337 QUIZ_CORRECT_ANSWER_INVALID The correct answers of the quiz are invalid
347 REPLY_MARKUP_GAME_EMPTY The provided reply markup for the game is empty
348 REPLY_MARKUP_INVALID The provided reply markup is invalid
349 REPLY_MARKUP_TOO_LONG The reply markup is too long
350 REPLY_MESSAGE_ID_INVALID The reply message id is invalid
351 RESET_REQUEST_MISSING No password reset is in progress
352 RESULTS_TOO_MUCH The result contains too many items
353 RESULT_ID_DUPLICATE The result contains items with duplicated identifiers
354 RESULT_ID_EMPTY Result ID empty
355 RESULT_ID_INVALID The given result cannot be used to send the selection to the bot
356 REACTIONS_TOO_MANY Currently, non-premium users, can set up to one reaction per message
357 RESULT_TYPE_INVALID The result type is invalid
358 REVOTE_NOT_ALLOWED You cannot change your vote
359 RIGHTS_NOT_MODIFIED The new admin rights are equal to the old rights, no change was made
360 RSA_DECRYPT_FAILED Internal RSA decryption failed
361 SCHEDULE_BOT_NOT_ALLOWED Bots are not allowed to schedule messages
362 SCHEDULE_DATE_INVALID Invalid schedule date provided
363 SCHEDULE_DATE_TOO_LATE The date you tried to schedule is too far in the future (more than one year)
364 SCHEDULE_STATUS_PRIVATE You cannot schedule a message until the person comes online if their privacy does not show this information
365 SCHEDULE_TOO_MUCH You tried to schedule too many messages in this chat
366 SCORE_INVALID The specified game score is invalid
367 SEARCH_QUERY_EMPTY The search query is empty
368 SEARCH_WITH_LINK_NOT_SUPPORTED You cannot provide a search query and an invite link at the same time
369 SECONDS_INVALID The seconds interval is invalid
370 SEND_AS_PEER_INVALID You can't send messages as the specified peer
371 SEND_MESSAGE_MEDIA_INVALID The message media is invalid
372 SEND_MESSAGE_TYPE_INVALID The message type is invalid
373 SESSION_TOO_FRESH_X You can't do this action because the current session was logged-in recently
374 SETTINGS_INVALID Invalid settings were provided
375 SHA256_HASH_INVALID The provided SHA256 hash is invalid
376 SHORTNAME_OCCUPY_FAILED An error occurred when trying to register the short-name used for the sticker pack. Try a different name
377 SHORT_NAME_INVALID The specified short name is invalid
378 SHORT_NAME_OCCUPIED The specified short name is already in use
379 SLOWMODE_MULTI_MSGS_DISABLED Slowmode is enabled, you cannot forward multiple messages to this group
380 SMS_CODE_CREATE_FAILED An error occurred while creating the SMS code
381 SRP_ID_INVALID Invalid SRP ID provided
382 SRP_PASSWORD_CHANGED The password has changed
383 STARGIFT_ALREADY_CONVERTED The provided star gift already converted to stars
384 STARGIFT_ALREADY_UPGRADED This star gift was already upgraded before
385 STARGIFT_USAGE_LIMITED The star gift usage is limited
386 START_PARAM_EMPTY The start parameter is empty
387 START_PARAM_INVALID The start parameter is invalid
388 START_PARAM_TOO_LONG The start parameter is too long
389 STICKERPACK_STICKERS_TOO_MUCH There are too many stickers in this stickerpack, you can't add any more
390 STICKERSET_INVALID The requested sticker set is invalid
391 STICKERSET_NOT_MODIFIED The sticker set is not modified
392 STICKERS_EMPTY The sticker provided is empty
394 STICKER_DOCUMENT_INVALID The sticker document is invalid
395 STICKER_EMOJI_INVALID The sticker emoji is invalid
396 STICKER_FILE_INVALID The sticker file is invalid
397 STICKER_GIF_DIMENSIONS The specified video sticker has invalid dimensions
398 STICKER_ID_INVALID The provided sticker id is invalid
399 STICKER_INVALID The provided sticker is invalid
400 STICKER_MIME_INVALID Make sure to pass a valid image file for the right InputFile parameter
401 STICKER_PNG_DIMENSIONS The sticker png dimensions are invalid
402 STICKER_PNG_NOPNG Stickers must be png files but the provided image was not a png
403 STICKER_TGS_NODOC You must send the animated sticker as a document
404 STICKER_TGS_NOTGS A tgs sticker file was expected, but something else was provided
STICKER_VIDEO_NOWEBM A webm video file was expected, but something else was provided
405 STICKER_THUMB_PNG_NOPNG A png sticker thumbnail file was expected, but something else was provided
406 STICKER_VIDEO_BIG The specified video sticker is too big
407 STICKER_VIDEO_NODOC You must send the video sticker as a document
408 STICKER_VIDEO_NOWEBM A webm video file was expected, but something else was provided
409 STORY_ID_EMPTY You specified no story IDs.
410 STORY_ID_INVALID The specified story ID is invalid.
411 STORY_NOT_MODIFIED The new story information you passed is equal to the previous story information, thus it wasn't modified.
412 STORY_PERIOD_INVALID The specified story period is invalid for this account.
413 STORIES_TOO_MUCH Too many stories in the current account
414 STORY_SEND_FLOOD_WEEKLY_X You've hit the weekly story limit, wait for the specified number of seconds before posting a new story.
415 STORY_SEND_FLOOD_MONTHLY_X You've hit the monthly story limit, wait for the specified number of seconds before posting a new story.
416 STORY_PERIOD_INVALID The story period is invalid
417 SUBSCRIPTION_PERIOD_INVALID The subscription period is invalid.
418 SWITCH_PM_TEXT_EMPTY The switch_pm.text field was empty
419 TAKEOUT_INVALID The takeout id is invalid
420 TAKEOUT_REQUIRED The method must be invoked inside a takeout session
421 TEMP_AUTH_KEY_ALREADY_BOUND The passed temporary key is already bound to another perm_auth_key_id
422 TEMP_AUTH_KEY_EMPTY The temporary auth key provided is empty
423 THEME_FILE_INVALID Invalid theme file provided
424 THEME_FORMAT_INVALID Invalid theme format provided
425 THEME_INVALID Invalid theme provided
426 THEME_MIME_INVALID You cannot create this theme because the mime-type is invalid
427 THEME_TITLE_INVALID The specified theme title is invalid
428 TITLE_INVALID The specified stickerpack title is invalid
429 TMP_PASSWORD_DISABLED The temporary password is disabled
430 TMP_PASSWORD_INVALID The temporary password is invalid
431 TOKEN_INVALID The provided token is invalid
432 TOPIC_CLOSED The topic was closed
433 TOPIC_DELETED The topic was deleted
434 TOPIC_CLOSE_SEPARATELY The close flag cannot be provided together with any of the other flags.
435 TOPIC_HIDE_SEPARATELY The hide flag cannot be provided together with any of the other flags.
436 TOPIC_ID_INVALID The provided topic ID is invalid
437 TOPIC_NOT_MODIFIED The topic was not modified
438 TOPIC_TITLE_EMPTY The specified topic title is empty.
439 TO_LANG_INVALID The specified destination language is invalid
440 TRANSCRIPTION_FAILED Telegram is having internal problems. Please try again later to transcribe the audio.
441 TTL_DAYS_INVALID The provided TTL days is invalid
442 TTL_MEDIA_INVALID The media does not support self-destruction
443 TYPES_EMPTY The types parameter is empty
444 TYPE_CONSTRUCTOR_INVALID The type constructor is invalid
445 UNKNOWN_ERROR Unknown error
446 UNTIL_DATE_INVALID That date parameter is invalid
447 URL_INVALID The URL provided is invalid
448 USAGE_LIMIT_INVALID The usage limit is invalid
450 USERNAME_NOT_MODIFIED The username was not modified because you tried to edit it using the same one
451 USERNAME_NOT_OCCUPIED The username is not occupied by anyone
452 USERNAME_OCCUPIED The username is already in use by someone else
453 USERNAME_PURCHASE_AVAILABLE The username is available for purchase on fragment.com
454 USERPIC_UPLOAD_REQUIRED You are required to upload a profile picture for this action
455 USERS_TOO_FEW Not enough users (to create a chat, for example)
456 USERS_TOO_MUCH The maximum number of users has been exceeded (to create a chat, for example)
457 USER_ADMIN_INVALID The action requires admin privileges. Probably you tried to edit admin privileges on someone you don't have rights to
458 USER_ALREADY_INVITED You have already invited this user
459 USER_ALREADY_PARTICIPANT The user is already a participant of this chat
460 USER_BANNED_IN_CHANNEL You are limited from sending messages in supergroups/channels, check @SpamBot for details
461 USER_BLOCKED The user is blocked
471 USER_KICKED This user was kicked from this chat
472 USER_NOT_MUTUAL_CONTACT The user is not a mutual contact
473 USER_NOT_PARTICIPANT The user is not a member of this chat
474 USER_PUBLIC_MISSING The accounts username is missing
475 USER_VOLUME_INVALID The specified user volume is invalid
476 VIDEO_CONTENT_TYPE_INVALID The video content type is invalid (i.e.: not streamable)
477 VIDEO_FILE_INVALID The video file is invalid
478 VIDEO_TITLE_EMPTY The specified video title is empty
479 VOICE_MESSAGES_FORBIDDEN This user's privacy settings forbid you from sending voice messages
480 VOLUME_LOC_NOT_FOUND The volume location can't be found
481 WALLPAPER_FILE_INVALID The provided file cannot be used as a wallpaper
482 WALLPAPER_INVALID The input wallpaper was not valid
483 WALLPAPER_MIME_INVALID The wallpaper mime type is invalid
484 WALLPAPER_NOT_FOUND The specified wallpaper could not be found.
485 WC_CONVERT_URL_INVALID WC convert URL invalid
486 WEBDOCUMENT_INVALID The web document is invalid
487 WEBDOCUMENT_MIME_INVALID The web document mime type is invalid
490 WEBDOCUMENT_URL_INVALID The web document URL is invalid
491 WEBPAGE_CURL_FAILED Telegram server could not fetch the provided URL
492 WEBPAGE_MEDIA_EMPTY The URL doesn't contain any valid media
493 WEBPAGE_NOT_FOUND Webpage not found
494 WEBPAGE_URL_INVALID Webpage url invalid
495 WEBPUSH_AUTH_INVALID The specified web push authentication secret is invalid
496 WEBPUSH_KEY_INVALID The specified web push elliptic curve Diffie-Hellman public key is invalid
497 WEBPUSH_TOKEN_INVALID The specified web push token is invalid
498 YOU_BLOCKED_USER You blocked this user
499 ENTITY_BOUNDS_INVALID STORIES_NEVER_CREATED The message entity bounds are invalid You have never created any stories
500 MEDIA_FILE_INVALID The provided media file is invalid
501 CHANNEL_FORUM_MISSING The channel forum is missing
502 TTL_PERIOD_INVALID The provided TTL period is invalid
503 BOOSTS_REQUIRED The specified channel must first be boosted by its users in order to perform this action
504 BOOSTS_EMPTY You can't modify the icon of the General topic.
505 BOOST_NOT_MODIFIED You're already boosting the specified channel.
506 PAYMENT_REQUIRED The payment is required
507 BOOST_PEER_INVALID The specified `boost_peer` is invalid.
508 STARS_AMOUNT_INVALID The specified `amount` is invalid.

View file

@ -4,25 +4,44 @@ CHANNEL_PUBLIC_GROUP_NA The channel/supergroup is not available
CHAT_ADMIN_INVITE_REQUIRED You don't have rights to invite other users CHAT_ADMIN_INVITE_REQUIRED You don't have rights to invite other users
CHAT_ADMIN_REQUIRED The method requires chat admin privileges CHAT_ADMIN_REQUIRED The method requires chat admin privileges
CHAT_FORBIDDEN You cannot write in this chat CHAT_FORBIDDEN You cannot write in this chat
CHAT_SEND_GIFS_FORBIDDEN You can't send animations in this chat CHAT_GUEST_SEND_FORBIDDEN You need to join the discussion group before commentingr
CHAT_SEND_INLINE_FORBIDDEN You cannot use inline bots to send messages in this chat
CHAT_SEND_MEDIA_FORBIDDEN You can't send media messages in this chat
CHAT_SEND_POLL_FORBIDDEN You can't send polls in this chat
CHAT_SEND_STICKERS_FORBIDDEN You can't send stickers in this chat
CHAT_WRITE_FORBIDDEN You don't have rights to send messages in this chat
EDIT_BOT_INVITE_FORBIDDEN Bots' chat invite links can't be edited EDIT_BOT_INVITE_FORBIDDEN Bots' chat invite links can't be edited
INLINE_BOT_REQUIRED The action must be performed through an inline bot callback INLINE_BOT_REQUIRED The action must be performed through an inline bot callback
MESSAGE_AUTHOR_REQUIRED You are not the author of this message MESSAGE_AUTHOR_REQUIRED You are not the author of this message
MESSAGE_DELETE_FORBIDDEN You don't have rights to delete messages in this chat, most likely because you are not the author of them MESSAGE_DELETE_FORBIDDEN You don't have rights to delete messages in this chat, most likely because you are not the author of them
NOT_ALLOWED Not allowed
NOT_ELIGIBLE You are not eligible for this action
PARTICIPANT_JOIN_MISSING Trying to enable a presentation, when the user hasn't joined the Video Chat with phone.joinGroupCall
POLL_VOTE_REQUIRED Cast a vote in the poll before calling this method POLL_VOTE_REQUIRED Cast a vote in the poll before calling this method
PREMIUM_ACCOUNT_REQUIRED This action requires a premium account
PRIVACY_PREMIUM_REQUIRED The user has restricted from sending messages OR This action requires a premium account
PUBLIC_CHANNEL_MISSING You can only export group call invite links for public chats or channels
RIGHT_FORBIDDEN You don't have enough rights for this action, or you tried to set one or more admin rights that can't be applied to this kind of chat (channel or supergroup) RIGHT_FORBIDDEN You don't have enough rights for this action, or you tried to set one or more admin rights that can't be applied to this kind of chat (channel or supergroup)
SENSITIVE_CHANGE_FORBIDDEN Your sensitive content settings can't be changed at this time SENSITIVE_CHANGE_FORBIDDEN Your sensitive content settings can't be changed at this time
TAKEOUT_REQUIRED The method must be invoked inside a takeout session TAKEOUT_REQUIRED The method must be invoked inside a takeout session
USER_BOT_INVALID This method can only be called by a bot USER_BOT_INVALID This method can only be called by a bot
USER_CHANNELS_TOO_MUCH One of the users you tried to add is already in too many channels/supergroups USER_CHANNELS_TOO_MUCH One of the users you tried to add is already in too many channels/supergroups
USER_DELETED You can't send this secret message because the other participant deleted their account
USER_INVALID The provided user is invalid USER_INVALID The provided user is invalid
USER_IS_BLOCKED The user is blocked USER_IS_BLOCKED The user is blocked
USER_NOT_MUTUAL_CONTACT The provided user is not a mutual contact USER_NOT_MUTUAL_CONTACT The provided user is not a mutual contact
USER_PRIVACY_RESTRICTED The user's privacy settings is preventing you to perform this action USER_PRIVACY_RESTRICTED The user's privacy settings is preventing you to perform this action
USER_RESTRICTED You are limited/restricted. You can't perform this action USER_RESTRICTED You are limited/restricted. You can't perform this action
PREMIUM_ACCOUNT_REQUIRED This action requires a premium account CHAT_SEND_AUDIOS_FORBIDDEN You can't send audio messages in this chat
CHAT_SEND_DOCS_FORBIDDEN You can't send a documents to this chat
CHAT_SEND_GAME_FORBIDDEN You can't send a game to this chat
CHAT_SEND_GIFS_FORBIDDEN You can't send gifs in this chat
CHAT_SEND_INLINE_FORBIDDEN You can't use inline bot to send messages in this chat
CHAT_SEND_MEDIA_FORBIDDEN You can't send media in this chat
CHAT_SEND_PHOTOS_FORBIDDEN You can't send photos in this chat
CHAT_SEND_PLAIN_FORBIDDEN You can't send non-media (text) messages in this chat
CHAT_SEND_POLL_FORBIDDEN You can't send polls in this chat
CHAT_SEND_STICKERS_FORBIDDEN You can't send stickers in this chat
CHAT_SEND_VIDEOS_FORBIDDEN You can't send videos in this chat
CHAT_SEND_VOICES_FORBIDDEN You can't send voice recordings in this chat
CHAT_WRITE_FORBIDDEN You can't write in this chat
GROUPCALL_ALREADY_STARTED The groupcall has already started, you can join directly using phone.joinGroupCall
GROUPCALL_FORBIDDEN The group call has already ended
LIVE_DISABLED Story is disabled server-side
CHAT_GUEST_SEND_FORBIDDEN You need to join the discussion group before commenting
ALLOW_PAYMENT_REQUIRED_X Payment of {value} stars is required to perform this action
1 id message
4 CHAT_ADMIN_INVITE_REQUIRED You don't have rights to invite other users
5 CHAT_ADMIN_REQUIRED The method requires chat admin privileges
6 CHAT_FORBIDDEN You cannot write in this chat
7 CHAT_SEND_GIFS_FORBIDDEN CHAT_GUEST_SEND_FORBIDDEN You can't send animations in this chat You need to join the discussion group before commentingr
CHAT_SEND_INLINE_FORBIDDEN You cannot use inline bots to send messages in this chat
CHAT_SEND_MEDIA_FORBIDDEN You can't send media messages in this chat
CHAT_SEND_POLL_FORBIDDEN You can't send polls in this chat
CHAT_SEND_STICKERS_FORBIDDEN You can't send stickers in this chat
CHAT_WRITE_FORBIDDEN You don't have rights to send messages in this chat
8 EDIT_BOT_INVITE_FORBIDDEN Bots' chat invite links can't be edited
9 INLINE_BOT_REQUIRED The action must be performed through an inline bot callback
10 MESSAGE_AUTHOR_REQUIRED You are not the author of this message
11 MESSAGE_DELETE_FORBIDDEN You don't have rights to delete messages in this chat, most likely because you are not the author of them
12 NOT_ALLOWED Not allowed
13 NOT_ELIGIBLE You are not eligible for this action
14 PARTICIPANT_JOIN_MISSING Trying to enable a presentation, when the user hasn't joined the Video Chat with phone.joinGroupCall
15 POLL_VOTE_REQUIRED Cast a vote in the poll before calling this method
16 PREMIUM_ACCOUNT_REQUIRED This action requires a premium account
17 PRIVACY_PREMIUM_REQUIRED The user has restricted from sending messages OR This action requires a premium account
18 PUBLIC_CHANNEL_MISSING You can only export group call invite links for public chats or channels
19 RIGHT_FORBIDDEN You don't have enough rights for this action, or you tried to set one or more admin rights that can't be applied to this kind of chat (channel or supergroup)
20 SENSITIVE_CHANGE_FORBIDDEN Your sensitive content settings can't be changed at this time
21 TAKEOUT_REQUIRED The method must be invoked inside a takeout session
22 USER_BOT_INVALID This method can only be called by a bot
23 USER_CHANNELS_TOO_MUCH One of the users you tried to add is already in too many channels/supergroups
24 USER_DELETED You can't send this secret message because the other participant deleted their account
25 USER_INVALID The provided user is invalid
26 USER_IS_BLOCKED The user is blocked
27 USER_NOT_MUTUAL_CONTACT The provided user is not a mutual contact
28 USER_PRIVACY_RESTRICTED The user's privacy settings is preventing you to perform this action
29 USER_RESTRICTED You are limited/restricted. You can't perform this action
30 PREMIUM_ACCOUNT_REQUIRED CHAT_SEND_AUDIOS_FORBIDDEN This action requires a premium account You can't send audio messages in this chat
31 CHAT_SEND_DOCS_FORBIDDEN You can't send a documents to this chat
32 CHAT_SEND_GAME_FORBIDDEN You can't send a game to this chat
33 CHAT_SEND_GIFS_FORBIDDEN You can't send gifs in this chat
34 CHAT_SEND_INLINE_FORBIDDEN You can't use inline bot to send messages in this chat
35 CHAT_SEND_MEDIA_FORBIDDEN You can't send media in this chat
36 CHAT_SEND_PHOTOS_FORBIDDEN You can't send photos in this chat
37 CHAT_SEND_PLAIN_FORBIDDEN You can't send non-media (text) messages in this chat
38 CHAT_SEND_POLL_FORBIDDEN You can't send polls in this chat
39 CHAT_SEND_STICKERS_FORBIDDEN You can't send stickers in this chat
40 CHAT_SEND_VIDEOS_FORBIDDEN You can't send videos in this chat
41 CHAT_SEND_VOICES_FORBIDDEN You can't send voice recordings in this chat
42 CHAT_WRITE_FORBIDDEN You can't write in this chat
43 GROUPCALL_ALREADY_STARTED The groupcall has already started, you can join directly using phone.joinGroupCall
44 GROUPCALL_FORBIDDEN The group call has already ended
45 LIVE_DISABLED Story is disabled server-side
46 CHAT_GUEST_SEND_FORBIDDEN You need to join the discussion group before commenting
47 ALLOW_PAYMENT_REQUIRED_X Payment of {value} stars is required to perform this action

View file

@ -1,13 +1,23 @@
id message id message
AUTH_KEY_DUPLICATED The same authorization key (session file) was used in more than one place simultaneously. You must delete your session file and log in again with your phone number or bot token AUTH_KEY_DUPLICATED The same authorization key (session file) was used in more than one place simultaneously. You must delete your session file and log in again with your phone number or bot token
CHANNEL_PRIVATE The channel/supergroup is not accessible CHANNEL_PRIVATE The channel/supergroup is not accessible
CHANNEL_TOO_LARGE Сhannel is too large to be deleted. Contact support for removal
CHAT_FORWARDS_RESTRICTED You can't forward messages from a protected chat
FILEREF_UPGRADE_NEEDED The file reference has expired and you must use a refreshed one by obtaining the original media message FILEREF_UPGRADE_NEEDED The file reference has expired and you must use a refreshed one by obtaining the original media message
FRESH_CHANGE_ADMINS_FORBIDDEN You were just elected admin, you can't add or modify other admins yet FRESH_CHANGE_ADMINS_FORBIDDEN You were just elected admin, you can't add or modify other admins yet
FRESH_CHANGE_PHONE_FORBIDDEN You can't change your phone number because your session was logged-in recently FRESH_CHANGE_PHONE_FORBIDDEN You can't change your phone number because your session was logged-in recently
FRESH_RESET_AUTHORISATION_FORBIDDEN You can't terminate other authorized sessions because the current was logged-in recently FRESH_RESET_AUTHORISATION_FORBIDDEN You can't terminate other authorized sessions because the current was logged-in recently
GIFTCODE_NOT_ALLOWED Giftcode not allowed
INVITE_HASH_EXPIRED The chat the user tried to join has expired and is not valid anymore
PHONE_NUMBER_INVALID The phone number is invalid PHONE_NUMBER_INVALID The phone number is invalid
PHONE_PASSWORD_FLOOD You have tried to log-in too many times PHONE_PASSWORD_FLOOD You have tried to log-in too many times
PREMIUM_CURRENTLY_UNAVAILABLE Premium currently unavailable
PREVIOUS_CHAT_IMPORT_ACTIVE_WAIT_XMIN Similar to a flood wait, must wait {value} minutes
SEND_CODE_UNAVAILABLE Returned when all available options for this type of number were already used (e.g. flash-call, then SMS, then this error might be returned to trigger a second resend)
PREMIUM_GIFTCODE_WAS_REFUNDED This gift code can't be redeemed because the giveaway organizer requested a refund
STICKERSET_INVALID The sticker set is invalid STICKERSET_INVALID The sticker set is invalid
STICKERSET_OWNER_ANONYMOUS This sticker set can't be used as the group's sticker set because it was created by one of its anonymous admins STICKERSET_OWNER_ANONYMOUS This sticker set can't be used as the group's sticker set because it was created by one of its anonymous admins
UPDATE_APP_TO_LOGIN Update app to login
USERPIC_PRIVACY_REQUIRED You need to disable privacy settings for your profile picture in order to make your geolocation public
USERPIC_UPLOAD_REQUIRED You must have a profile picture to publish your geolocation USERPIC_UPLOAD_REQUIRED You must have a profile picture to publish your geolocation
USER_RESTRICTED You are limited/restricted. You can't perform this action USER_RESTRICTED You are limited/restricted. You can't perform this action

1 id message
2 AUTH_KEY_DUPLICATED The same authorization key (session file) was used in more than one place simultaneously. You must delete your session file and log in again with your phone number or bot token
3 CHANNEL_PRIVATE The channel/supergroup is not accessible
4 CHANNEL_TOO_LARGE Сhannel is too large to be deleted. Contact support for removal
5 CHAT_FORWARDS_RESTRICTED You can't forward messages from a protected chat
6 FILEREF_UPGRADE_NEEDED The file reference has expired and you must use a refreshed one by obtaining the original media message
7 FRESH_CHANGE_ADMINS_FORBIDDEN You were just elected admin, you can't add or modify other admins yet
8 FRESH_CHANGE_PHONE_FORBIDDEN You can't change your phone number because your session was logged-in recently
9 FRESH_RESET_AUTHORISATION_FORBIDDEN You can't terminate other authorized sessions because the current was logged-in recently
10 GIFTCODE_NOT_ALLOWED Giftcode not allowed
11 INVITE_HASH_EXPIRED The chat the user tried to join has expired and is not valid anymore
12 PHONE_NUMBER_INVALID The phone number is invalid
13 PHONE_PASSWORD_FLOOD You have tried to log-in too many times
14 PREMIUM_CURRENTLY_UNAVAILABLE Premium currently unavailable
15 PREVIOUS_CHAT_IMPORT_ACTIVE_WAIT_XMIN Similar to a flood wait, must wait {value} minutes
16 SEND_CODE_UNAVAILABLE Returned when all available options for this type of number were already used (e.g. flash-call, then SMS, then this error might be returned to trigger a second resend)
17 PREMIUM_GIFTCODE_WAS_REFUNDED This gift code can't be redeemed because the giveaway organizer requested a refund
18 STICKERSET_INVALID The sticker set is invalid
19 STICKERSET_OWNER_ANONYMOUS This sticker set can't be used as the group's sticker set because it was created by one of its anonymous admins
20 UPDATE_APP_TO_LOGIN Update app to login
21 USERPIC_PRIVACY_REQUIRED You need to disable privacy settings for your profile picture in order to make your geolocation public
22 USERPIC_UPLOAD_REQUIRED You must have a profile picture to publish your geolocation
23 USER_RESTRICTED You are limited/restricted. You can't perform this action

View file

@ -2,5 +2,8 @@ id message
2FA_CONFIRM_WAIT_X A wait of {value} seconds is required because this account is active and protected by a 2FA password 2FA_CONFIRM_WAIT_X A wait of {value} seconds is required because this account is active and protected by a 2FA password
FLOOD_TEST_PHONE_WAIT_X A wait of {value} seconds is required in the test servers FLOOD_TEST_PHONE_WAIT_X A wait of {value} seconds is required in the test servers
FLOOD_WAIT_X A wait of {value} seconds is required FLOOD_WAIT_X A wait of {value} seconds is required
SLOWMODE_WAIT_X A wait of {value} seconds is required to send messages in this chat. FLOOD_PREMIUM_WAIT_X A wait of {value} seconds is required
PREMIUM_SUB_ACTIVE_UNTIL_X A wait of {value} seconds is required
SLOWMODE_WAIT_X A wait of {value} seconds is required to send messages in this chat
STORY_SEND_FLOOD_X A wait of {value} seconds is required to continue posting stories
TAKEOUT_INIT_DELAY_X You have to confirm the data export request using one of your mobile devices or wait {value} seconds TAKEOUT_INIT_DELAY_X You have to confirm the data export request using one of your mobile devices or wait {value} seconds
1 id message
2 2FA_CONFIRM_WAIT_X A wait of {value} seconds is required because this account is active and protected by a 2FA password
3 FLOOD_TEST_PHONE_WAIT_X A wait of {value} seconds is required in the test servers
4 FLOOD_WAIT_X A wait of {value} seconds is required
5 SLOWMODE_WAIT_X FLOOD_PREMIUM_WAIT_X A wait of {value} seconds is required to send messages in this chat. A wait of {value} seconds is required
6 PREMIUM_SUB_ACTIVE_UNTIL_X A wait of {value} seconds is required
7 SLOWMODE_WAIT_X A wait of {value} seconds is required to send messages in this chat
8 STORY_SEND_FLOOD_X A wait of {value} seconds is required to continue posting stories
9 TAKEOUT_INIT_DELAY_X You have to confirm the data export request using one of your mobile devices or wait {value} seconds

View file

@ -38,8 +38,11 @@ RPC_MCGET_FAIL Telegram is having internal problems. Please try again later
SIGN_IN_FAILED Failure while signing in due to Telegram having internal problems. Please try again later SIGN_IN_FAILED Failure while signing in due to Telegram having internal problems. Please try again later
STORAGE_CHECK_FAILED Server storage check failed due to Telegram having internal problems. Please try again later STORAGE_CHECK_FAILED Server storage check failed due to Telegram having internal problems. Please try again later
STORE_INVALID_SCALAR_TYPE Telegram is having internal problems. Please try again later STORE_INVALID_SCALAR_TYPE Telegram is having internal problems. Please try again later
TIMEOUT A timeout occurred while fetching data from the worker
UNKNOWN_METHOD The method you tried to call cannot be called on non-CDN DCs UNKNOWN_METHOD The method you tried to call cannot be called on non-CDN DCs
UPLOAD_NO_VOLUME Telegram is having internal problems. Please try again later UPLOAD_NO_VOLUME Telegram is having internal problems. Please try again later
VOLUME_LOC_NOT_FOUND Telegram is having internal problems. Please try again later VOLUME_LOC_NOT_FOUND Telegram is having internal problems. Please try again later
WORKER_BUSY_TOO_LONG_RETRY Server workers are too busy right now due to Telegram having internal problems. Please try again later WORKER_BUSY_TOO_LONG_RETRY Server workers are too busy right now due to Telegram having internal problems. Please try again later
WP_ID_GENERATE_FAILED Telegram is having internal problems. Please try again later WP_ID_GENERATE_FAILED Telegram is having internal problems. Please try again later
FILE_WRITE_FAILED Telegram is having internal problems. Please try again later
CHAT_FROM_CALL_CHANGED

1 id message
38 SIGN_IN_FAILED Failure while signing in due to Telegram having internal problems. Please try again later
39 STORAGE_CHECK_FAILED Server storage check failed due to Telegram having internal problems. Please try again later
40 STORE_INVALID_SCALAR_TYPE Telegram is having internal problems. Please try again later
41 TIMEOUT A timeout occurred while fetching data from the worker
42 UNKNOWN_METHOD The method you tried to call cannot be called on non-CDN DCs
43 UPLOAD_NO_VOLUME Telegram is having internal problems. Please try again later
44 VOLUME_LOC_NOT_FOUND Telegram is having internal problems. Please try again later
45 WORKER_BUSY_TOO_LONG_RETRY Server workers are too busy right now due to Telegram having internal problems. Please try again later
46 WP_ID_GENERATE_FAILED Telegram is having internal problems. Please try again later
47 FILE_WRITE_FAILED Telegram is having internal problems. Please try again later
48 CHAT_FROM_CALL_CHANGED

View file

@ -1,3 +1,4 @@
id message id message
ApiCallError Telegram is having internal problems. Please try again later. ApiCallError Telegram is having internal problems. Please try again later.
Timeout Telegram is having internal problems. Please try again later. Timeout Telegram is having internal problems. Please try again later.
Timedout Telegram is having internal problems. Please try again later.
1 id message
2 ApiCallError Telegram is having internal problems. Please try again later.
3 Timeout Telegram is having internal problems. Please try again later.
4 Timedout Telegram is having internal problems. Please try again later.

View file

@ -1,6 +0,0 @@
-r requirements.txt
pytest
pytest-asyncio
pytest-cov
twine

View file

@ -0,0 +1,7 @@
.. raw:: html
<blockquote>
<strong>Usable by</strong>
<span class="usable-by"><i class="fa-solid fa-xmark" style="color: var(--color-red)"></i> Users</span>
<span class="usable-by"><i class="fa-solid fa-check" style="color: var(--color-green)"></i> Bots</span>
</blockquote>

View file

@ -0,0 +1,7 @@
.. raw:: html
<blockquote>
<strong>Usable by</strong>
<span class="usable-by"><i class="fa-solid fa-check" style="color: var(--color-green)"></i> Users</span>
<span class="usable-by"><i class="fa-solid fa-check" style="color: var(--color-green)"></i> Bots</span>
</blockquote>

View file

@ -0,0 +1,7 @@
.. raw:: html
<blockquote>
<strong>Usable by</strong>
<span class="usable-by"><i class="fa-solid fa-check" style="color: var(--color-green)"></i> Users</span>
<span class="usable-by"><i class="fa-solid fa-xmark" style="color: var(--color-red)"></i> Bots</span>
</blockquote>

1
docs/source/_static/css/all.min.css vendored Normal file
View file

@ -0,0 +1 @@
@import url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.1.2/css/all.min.css");

View file

@ -0,0 +1,24 @@
body{
--color-green: darkgreen;
--color-red: darkred;
}
.usable-by {
border: 1px ;
border-radius: .2em;
padding: 2px 5px;
background-color: #1a1c1e;
}
a .pre{
color:lightgrey;
}
.md-main a {
text-decoration: underline;
color:lightgrey;
}
.md-sidebar a {
text-decoration: none;
}

View file

@ -0,0 +1,24 @@
Pyrofork Client
===============
You have entered the API Reference section where you can find detailed information about Pyrofork's API. The main Client
class, all available methods and types, filters, handlers, decorators and bound-methods detailed descriptions can be
found starting from this page.
This page is about the Client class, which exposes high-level methods for an easy access to the API.
.. code-block:: python
from pyrogram import Client
app = Client("my_account")
with app:
app.send_message("me", "Hi!")
-----
Details
-------
.. autoclass:: pyrogram.Client()

View file

@ -0,0 +1,88 @@
Decorators
==========
Decorators are able to register callback functions for handling updates in a much easier and cleaner way compared to
:doc:`Handlers <handlers>`; they do so by instantiating the correct handler and calling
:meth:`~pyrogram.Client.add_handler` automatically. All you need to do is adding the decorators on top of your
functions.
.. code-block:: python
from pyrogram import Client
app = Client("my_account")
@app.on_message()
def log(client, message):
print(message)
app.run()
.. contents:: Contents
:backlinks: none
:depth: 1
:local:
-----
.. currentmodule:: pyrogram
Index
-----
.. hlist::
:columns: 3
- :meth:`~Client.on_bot_business_connect`
- :meth:`~Client.on_message`
- :meth:`~Client.on_bot_business_message`
- :meth:`~Client.on_edited_message`
- :meth:`~Client.on_edited_bot_business_message`
- :meth:`~Client.on_callback_query`
- :meth:`~Client.on_shipping_query`
- :meth:`~Client.on_pre_checkout_query`
- :meth:`~Client.on_message_reaction_updated`
- :meth:`~Client.on_message_reaction_count_updated`
- :meth:`~Client.on_inline_query`
- :meth:`~Client.on_chosen_inline_result`
- :meth:`~Client.on_chat_member_updated`
- :meth:`~Client.on_chat_join_request`
- :meth:`~Client.on_deleted_messages`
- :meth:`~Client.on_deleted_bot_business_message`
- :meth:`~Client.on_user_status`
- :meth:`~Client.on_story`
- :meth:`~Client.on_poll`
- :meth:`~Client.on_disconnect`
- :meth:`~Client.on_raw_update`
- :meth:`~Client.on_error`
-----
Details
-------
.. Decorators
.. autodecorator:: pyrogram.Client.on_bot_business_connect()
.. autodecorator:: pyrogram.Client.on_message()
.. autodecorator:: pyrogram.Client.on_bot_business_message()
.. autodecorator:: pyrogram.Client.on_edited_message()
.. autodecorator:: pyrogram.Client.on_edited_bot_business_message()
.. autodecorator:: pyrogram.Client.on_callback_query()
.. autodecorator:: pyrogram.Client.on_shipping_query()
.. autodecorator:: pyrogram.Client.on_pre_checkout_query()
.. autodecorator:: pyrogram.Client.on_message_reaction_updated()
.. autodecorator:: pyrogram.Client.on_message_reaction_count_updated()
.. autodecorator:: pyrogram.Client.on_inline_query()
.. autodecorator:: pyrogram.Client.on_chosen_inline_result()
.. autodecorator:: pyrogram.Client.on_chat_member_updated()
.. autodecorator:: pyrogram.Client.on_chat_join_request()
.. autodecorator:: pyrogram.Client.on_deleted_messages()
.. autodecorator:: pyrogram.Client.on_deleted_bot_business_message()
.. autodecorator:: pyrogram.Client.on_user_status()
.. autodecorator:: pyrogram.Client.on_story()
.. autodecorator:: pyrogram.Client.on_poll()
.. autodecorator:: pyrogram.Client.on_disconnect()
.. autodecorator:: pyrogram.Client.on_raw_update()
.. autodecorator:: pyrogram.Client.on_error()

View file

@ -0,0 +1,8 @@
BusinessSchedule
==========
.. autoclass:: pyrogram.enums.BusinessSchedule()
:members:
.. raw:: html
:file: ./cleanup.html

View file

@ -0,0 +1,8 @@
ChatAction
==========
.. autoclass:: pyrogram.enums.ChatAction()
:members:
.. raw:: html
:file: ./cleanup.html

View file

@ -0,0 +1,8 @@
ChatEventAction
===============
.. autoclass:: pyrogram.enums.ChatEventAction()
:members:
.. raw:: html
:file: ./cleanup.html

View file

@ -0,0 +1,8 @@
ChatJoinType
==========
.. autoclass:: pyrogram.enums.ChatJoinType()
:members:
.. raw:: html
:file: ./cleanup.html

View file

@ -0,0 +1,8 @@
ChatMemberStatus
================
.. autoclass:: pyrogram.enums.ChatMemberStatus()
:members:
.. raw:: html
:file: ./cleanup.html

View file

@ -0,0 +1,8 @@
ChatMembersFilter
=================
.. autoclass:: pyrogram.enums.ChatMembersFilter()
:members:
.. raw:: html
:file: ./cleanup.html

View file

@ -0,0 +1,8 @@
ChatType
========
.. autoclass:: pyrogram.enums.ChatType()
:members:
.. raw:: html
:file: ./cleanup.html

View file

@ -0,0 +1,8 @@
ClientPlatform
==========
.. autoclass:: pyrogram.enums.ClientPlatform()
:members:
.. raw:: html
:file: ./cleanup.html

View file

@ -0,0 +1,8 @@
FolderColor
===========
.. autoclass:: pyrogram.enums.FolderColor()
:members:
.. raw:: html
:file: ./cleanup.html

View file

@ -0,0 +1,8 @@
GiftAttributeType
==========
.. autoclass:: pyrogram.enums.GiftAttributeType()
:members:
.. raw:: html
:file: ./cleanup.html

View file

@ -0,0 +1,8 @@
GiftAttributeType
=================
.. autoclass:: pyrogram.enums.GiftForResaleOrder()
:members:
.. raw:: html
:file: ./cleanup.html

View file

@ -0,0 +1,8 @@
ListenerTypes
=============
.. autoclass:: pyrogram.enums.ListenerTypes()
:members:
.. raw:: html
:file: ./cleanup.html

View file

@ -0,0 +1,8 @@
MessageEntityType
=================
.. autoclass:: pyrogram.enums.MessageEntityType()
:members:
.. raw:: html
:file: ./cleanup.html

View file

@ -0,0 +1,8 @@
MessageMediaType
================
.. autoclass:: pyrogram.enums.MessageMediaType()
:members:
.. raw:: html
:file: ./cleanup.html

View file

@ -0,0 +1,8 @@
MessageOriginType
=================
.. autoclass:: pyrogram.enums.MessageOriginType()
:members:
.. raw:: html
:file: ./cleanup.html

View file

@ -0,0 +1,8 @@
MessageServiceType
==================
.. autoclass:: pyrogram.enums.MessageServiceType()
:members:
.. raw:: html
:file: ./cleanup.html

View file

@ -0,0 +1,8 @@
MessagesFilter
==============
.. autoclass:: pyrogram.enums.MessagesFilter()
:members:
.. raw:: html
:file: ./cleanup.html

View file

@ -0,0 +1,8 @@
NextCodeType
============
.. autoclass:: pyrogram.enums.NextCodeType()
:members:
.. raw:: html
:file: ./cleanup.html

View file

@ -0,0 +1,8 @@
ParseMode
=========
.. autoclass:: pyrogram.enums.ParseMode()
:members:
.. raw:: html
:file: ./cleanup.html

View file

@ -0,0 +1,8 @@
PollType
========
.. autoclass:: pyrogram.enums.PollType()
:members:
.. raw:: html
:file: ./cleanup.html

View file

@ -0,0 +1,8 @@
ProfileColor
==========
.. autoclass:: pyrogram.enums.ProfileColor()
:members:
.. raw:: html
:file: ./cleanup.html

View file

@ -0,0 +1,8 @@
ReactionType
============
.. autoclass:: pyrogram.enums.ReactionType()
:members:
.. raw:: html
:file: ./cleanup.html

View file

@ -0,0 +1,8 @@
ReplyColor
==========
.. autoclass:: pyrogram.enums.ReplyColor()
:members:
.. raw:: html
:file: ./cleanup.html

View file

@ -0,0 +1,8 @@
SentCodeType
============
.. autoclass:: pyrogram.enums.SentCodeType()
:members:
.. raw:: html
:file: ./cleanup.html

View file

@ -0,0 +1,8 @@
StoriesPrivacyRules
===================
.. autoclass:: pyrogram.enums.StoriesPrivacyRules()
:members:
.. raw:: html
:file: ./cleanup.html

View file

@ -0,0 +1,8 @@
StoryPrivacy
============
.. autoclass:: pyrogram.enums.StoryPrivacy()
:members:
.. raw:: html
:file: ./cleanup.html

View file

@ -0,0 +1,8 @@
UserStatus
==========
.. autoclass:: pyrogram.enums.UserStatus()
:members:
.. raw:: html
:file: ./cleanup.html

View file

@ -0,0 +1,9 @@
<script>
document
.querySelectorAll("em.property")
.forEach((elem, i) => i !== 0 ? elem.remove() : true)
document
.querySelectorAll("a.headerlink")
.forEach((elem, i) => [0, 1].includes(i) ? true : elem.remove())
</script>

View file

@ -0,0 +1,69 @@
Enumerations
============
This page is about Pyrofork enumerations.
Enumerations are types that hold a group of related values to be used whenever a constant value is required.
They will help you deal with those values in a type-safe way and also enable code completion so that you can be sure
to apply only a valid value among the expected ones.
-----
.. currentmodule:: pyrogram.enums
.. autosummary::
:nosignatures:
BusinessSchedule
ChatAction
ChatEventAction
ChatJoinType
ChatMemberStatus
ChatMembersFilter
ChatType
ClientPlatform
FolderColor
GiftAttributeType
ListenerTypes
MessageEntityType
MessageMediaType
MessageServiceType
MessagesFilter
ParseMode
PollType
ProfileColor
SentCodeType
NextCodeType
UserStatus
ReactionType
ReplyColor
StoriesPrivacyRules
StoryPrivacy
.. toctree::
:hidden:
BusinessSchedule
ChatAction
ChatEventAction
ChatJoinType
ChatMemberStatus
ChatMembersFilter
ChatType
ClientPlatform
FolderColor
GiftAttributeType
ListenerTypes
MessageEntityType
MessageMediaType
MessageServiceType
MessagesFilter
ParseMode
PollType
ProfileColor
SentCodeType
NextCodeType
UserStatus
ReactionType
ReplyColor
StoriesPrivacyRules
StoryPrivacy

View file

@ -0,0 +1,7 @@
400 - BadRequest
----------------
.. csv-table::
:file: ../../../../compiler/errors/source/400_BAD_REQUEST.tsv
:delim: tab
:header-rows: 1

View file

@ -0,0 +1,7 @@
420 - Flood
-----------
.. csv-table::
:file: ../../../../compiler/errors/source/420_FLOOD.tsv
:delim: tab
:header-rows: 1

View file

@ -0,0 +1,7 @@
403 - Forbidden
---------------
.. csv-table::
:file: ../../../../compiler/errors/source/403_FORBIDDEN.tsv
:delim: tab
:header-rows: 1

View file

@ -0,0 +1,37 @@
RPC Errors
==========
All Pyrofork API errors live inside the ``errors`` sub-package: ``pyrogram.errors``.
The errors ids listed here are shown as *UPPER_SNAKE_CASE*, but the actual exception names to import from Pyrofork
follow the usual *PascalCase* convention.
.. code-block:: python
from pyrogram.errors import FloodWait
try:
...
except FloodWait as e:
...
.. hlist::
:columns: 1
- :doc:`see-other`
- :doc:`bad-request`
- :doc:`unauthorized`
- :doc:`forbidden`
- :doc:`not-acceptable`
- :doc:`flood`
- :doc:`internal-server-error`
.. toctree::
:hidden:
see-other
bad-request
unauthorized
forbidden
not-acceptable
flood
internal-server-error

View file

@ -0,0 +1,7 @@
500 - InternalServerError
-------------------------
.. csv-table::
:file: ../../../../compiler/errors/source/500_INTERNAL_SERVER_ERROR.tsv
:delim: tab
:header-rows: 1

View file

@ -0,0 +1,7 @@
406 - NotAcceptable
-------------------
.. csv-table::
:file: ../../../../compiler/errors/source/406_NOT_ACCEPTABLE.tsv
:delim: tab
:header-rows: 1

View file

@ -0,0 +1,7 @@
303 - SeeOther
--------------
.. csv-table::
:file: ../../../../compiler/errors/source/303_SEE_OTHER.tsv
:delim: tab
:header-rows: 1

View file

@ -0,0 +1,7 @@
401 - Unauthorized
------------------
.. csv-table::
:file: ../../../../compiler/errors/source/401_UNAUTHORIZED.tsv
:delim: tab
:header-rows: 1

View file

@ -0,0 +1,11 @@
Update Filters
==============
Filters are objects that can be used to filter the content of incoming updates.
:doc:`Read more about how filters work <../topics/use-filters>`.
Details
-------
.. automodule:: pyrogram.filters
:members:

View file

@ -0,0 +1,86 @@
Update Handlers
===============
Handlers are used to instruct Pyrofork about which kind of updates you'd like to handle with your callback functions.
For a much more convenient way of registering callback functions have a look at :doc:`Decorators <decorators>` instead.
.. code-block:: python
from pyrogram import Client
from pyrogram.handlers import MessageHandler
app = Client("my_account")
def dump(client, message):
print(message)
app.add_handler(MessageHandler(dump))
app.run()
.. contents:: Contents
:backlinks: none
:depth: 1
:local:
-----
.. currentmodule:: pyrogram.handlers
Index
-----
.. hlist::
:columns: 3
- :class:`BotBusinessConnectHandler`
- :class:`MessageHandler`
- :class:`BotBusinessMessageHandler`
- :class:`EditedMessageHandler`
- :class:`EditedBotBusinessMessageHandler`
- :class:`DeletedMessagesHandler`
- :class:`DeletedBotBusinessMessagesHandler`
- :class:`CallbackQueryHandler`
- :class:`PreCheckoutQueryHandler`
- :class:`ShippingQueryHandler`
- :class:`MessageReactionUpdatedHandler`
- :class:`MessageReactionCountUpdatedHandler`
- :class:`InlineQueryHandler`
- :class:`ChosenInlineResultHandler`
- :class:`ChatMemberUpdatedHandler`
- :class:`UserStatusHandler`
- :class:`StoryHandler`
- :class:`PollHandler`
- :class:`DisconnectHandler`
- :class:`RawUpdateHandler`
- :class:`ErrorHandler`
-----
Details
-------
.. Handlers
.. autoclass:: BotBusinessConnectHandler()
.. autoclass:: MessageHandler()
.. autoclass:: BotBusinessMessageHandler()
.. autoclass:: EditedMessageHandler()
.. autoclass:: EditedBotBusinessMessageHandler()
.. autoclass:: DeletedMessagesHandler()
.. autoclass:: DeletedBotBusinessMessagesHandler()
.. autoclass:: CallbackQueryHandler()
.. autoclass:: ShippingQueryHandler()
.. autoclass:: PreCheckoutQueryHandler()
.. autoclass:: MessageReactionUpdatedHandler()
.. autoclass:: MessageReactionCountUpdatedHandler()
.. autoclass:: InlineQueryHandler()
.. autoclass:: ChosenInlineResultHandler()
.. autoclass:: ChatMemberUpdatedHandler()
.. autoclass:: UserStatusHandler()
.. autoclass:: StoryHandler()
.. autoclass:: PollHandler()
.. autoclass:: DisconnectHandler()
.. autoclass:: RawUpdateHandler()
.. autoclass:: ErrorHandler()

123
docs/source/conf.py Normal file
View file

@ -0,0 +1,123 @@
# Pyrofork - Telegram MTProto API Client Library for Python
# Copyright (C) 2017-present Dan <https://github.com/delivrance>
# Copyright (C) 2022-present Mayuri-Chan <https://github.com/Mayuri-Chan>
#
# This file is part of Pyrofork.
#
# Pyrofork 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.
#
# Pyrofork 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 Pyrofork. If not, see <http://www.gnu.org/licenses/>.
import os
import sys
sys.path.insert(0, os.path.abspath("../.."))
from pyrogram import __version__
from pygments.styles.friendly import FriendlyStyle
FriendlyStyle.background_color = "#f3f2f1"
project = "Pyrofork"
copyright = "2022-present, Mayuri-Chan"
author = "Mayuri-Chan"
version = ".".join(__version__.split(".")[:-1])
extensions = [
"sphinx.ext.autodoc",
"sphinx.ext.napoleon",
"sphinx.ext.autosummary",
"sphinx.ext.intersphinx",
"sphinx_copybutton",
"sphinx_immaterial"
]
intersphinx_mapping = {
"python": ("https://docs.python.org/3", None)
}
master_doc = "index"
source_suffix = ".rst"
autodoc_member_order = "bysource"
templates_path = ["../resources/templates"]
html_copy_source = False
napoleon_use_rtype = False
napoleon_use_param = False
pygments_style = "friendly"
copybutton_prompt_text = "$ "
suppress_warnings = ["image.not_readable"]
html_title = "Pyrofork Documentation"
html_theme = "sphinx_immaterial"
html_static_path = ["../resources/static","_static"]
html_show_sourcelink = True
html_show_copyright = False
html_theme_options = {
"icon": {
"repo": "fontawesome/brands/github",
"edit": "material/file-edit-outline",
},
"site_url": "https://pyrofork.wulan17.dev/",
"repo_url": "https://github.com/Mayuri-Chan/pyrofork/",
"repo_name": "pyrofork",
"globaltoc_collapse": True,
"features": [
"navigation.expand",
"navigation.tabs",
"navigation.sections",
"navigation.top",
"search.share",
"toc.follow",
"toc.sticky",
"content.tabs.link",
"announce.dismiss",
],
"palette": [
{
"media": "(prefers-color-scheme: dark)",
"scheme": "slate"
}
],
"toc_title_is_page_title": True,
"version_dropdown": True,
"version_info": [
{"version": "main", "title": "main", "aliases": ["latest"]},
{"version": "staging", "title": "staging", "aliases": []},
],
}
html_logo = "../resources/static/img/pyrogram.png"
html_favicon = "../resources/static/img/favicon.ico"
latex_engine = "xelatex"
latex_logo = "../resources/static/img/pyrogram.png"
latex_elements = {
"pointsize": "12pt",
"fontpkg": r"""
\setmainfont{Open Sans}
\setsansfont{Bitter}
\setmonofont{Ubuntu Mono}
"""
}
html_css_files = [
"css/custom.css",
"css/all.min.css",
]

View file

@ -0,0 +1,11 @@
Client started, but nothing happens
===================================
A possible cause might be network issues, either yours or Telegram's. To check this, add the following code at
the top of your script and run it again. You should see some error mentioning a socket timeout or an unreachable
network:
.. code-block:: python
import logging
logging.basicConfig(level=logging.INFO)

View file

@ -0,0 +1,12 @@
Code hangs when calling stop, restart, add/remove_handler
=========================================================
You tried to ``.stop()``, ``.restart()``, ``.add_handler()`` or ``.remove_handler()`` inside a running handler, but
that can't be done because the way Pyrofork deals with handlers would make it hang.
When calling one of the methods above inside an event handler, Pyrofork needs to wait for all running handlers to finish
in order to continue. Since your handler is blocking the execution by waiting for the called method to finish
and since Pyrofork needs to wait for your handler to finish, you are left with a deadlock.
The solution to this problem is to pass ``block=False`` to such methods so that they return immediately and the actual
code called asynchronously.

View file

@ -0,0 +1,23 @@
How to avoid Flood Waits?
=========================
Slow things down and make less requests. Moreover, exact limits are unknown and can change anytime based on normal
usages.
When a flood wait happens the server will tell you how much time to wait before continuing.
The following shows how to catch the exception in your code and wait the required seconds.
.. code-block:: python
import asyncio
from pyrogram.errors import FloodWait
...
try:
... # Your code
except FloodWait as e:
await asyncio.sleep(e.value) # Wait "value" seconds before continuing
...
More info about error handling can be found :doc:`here <../start/errors>`.

View file

@ -0,0 +1,9 @@
How to use webhooks?
====================
There is no webhook in Pyrofork, simply because there is no HTTP involved. However, a similar technique is
being used to make receiving updates efficient.
Pyrofork uses persistent connections via TCP sockets to interact with the server and instead of actively asking for
updates every time (polling), Pyrofork will sit down and wait for the server to send updates by itself the very moment
they are available (server push).

45
docs/source/faq/index.rst Normal file
View file

@ -0,0 +1,45 @@
Frequently Asked Questions
==========================
This FAQ page provides answers to common questions about Pyrofork and, to some extent, Telegram in general.
**Contents**
- :doc:`why-is-the-api-key-needed-for-bots`
- :doc:`how-to-use-webhooks`
- :doc:`using-the-same-file-id-across-different-accounts`
- :doc:`using-multiple-clients-at-once-on-the-same-account`
- :doc:`client-started-but-nothing-happens`
- :doc:`what-are-the-ip-addresses-of-telegram-data-centers`
- :doc:`migrating-the-account-to-another-data-center`
- :doc:`why-is-the-client-reacting-slowly-in-supergroups-channels`
- :doc:`peer-id-invalid-error`
- :doc:`code-hangs-when-calling-stop-restart-add-remove-handler`
- :doc:`unicodeencodeerror-codec-cant-encode`
- :doc:`uploading-with-urls-gives-error-webpage-curl-failed`
- :doc:`sqlite3-operationalerror-database-is-locked`
- :doc:`sqlite3-interfaceerror-error-binding-parameter`
- :doc:`socket-send-oserror-timeouterror-connection-lost-reset`
- :doc:`how-to-avoid-flood-waits`
- :doc:`the-account-has-been-limited-deactivated`
.. toctree::
:hidden:
why-is-the-api-key-needed-for-bots
how-to-use-webhooks
using-the-same-file-id-across-different-accounts
using-multiple-clients-at-once-on-the-same-account
client-started-but-nothing-happens
what-are-the-ip-addresses-of-telegram-data-centers
migrating-the-account-to-another-data-center
why-is-the-client-reacting-slowly-in-supergroups-channels
peer-id-invalid-error
code-hangs-when-calling-stop-restart-add-remove-handler
unicodeencodeerror-codec-cant-encode
uploading-with-urls-gives-error-webpage-curl-failed
sqlite3-operationalerror-database-is-locked
sqlite3-interfaceerror-error-binding-parameter
socket-send-oserror-timeouterror-connection-lost-reset
how-to-avoid-flood-waits
the-account-has-been-limited-deactivated

View file

@ -0,0 +1,10 @@
Migrating the account to another data center
============================================
This question is asked by people who find their account always being connected to one DC (data center), but are
connecting from a place far away, thus resulting in slower interactions when using the API because of the greater
physical distance between the user and the associated DC.
When registering an account for the first time, is up to Telegram to decide which DC the new user is going to be
created in. It's also up to the server to decide whether to automatically migrate a user in case of prolonged usages
from a distant location.

View file

@ -0,0 +1,14 @@
PEER_ID_INVALID error
=====================
This error could mean several things:
- The chat id you tried to use is simply wrong, check it again.
- The chat id refers to a group or channel you are not a member of.
- The chat id argument you passed is in form of a string; you have to convert it into an integer with ``int(chat_id)``.
- The chat id refers to a user or chat your current session hasn't met yet.
About the last point: in order for you to meet a user and thus communicate with them, you should ask yourself how to
contact people using official apps. The answer is the same for Pyrofork too and involves normal usages such as searching
for usernames, meeting them in a common group, having their phone contacts saved, getting a message mentioning them
or obtaining the dialogs list.

View file

@ -0,0 +1,12 @@
socket.send(), OSError(), TimeoutError(), Connection lost/reset
===============================================================
If you get any of these errors chances are you ended up with a slow or inconsistent network connection.
Another reason could be because you are blocking the event loop for too long.
You can consider the following:
- Use Pyrofork asynchronously in its intended way.
- Use shorter non-asynchronous processing loops.
- Use ``asyncio.sleep()`` instead of ``time.sleep()``.
- Use a stable network connection.

View file

@ -0,0 +1,13 @@
sqlite3.InterfaceError: Error binding parameter
===============================================
This error occurs when you pass a chat id value of the wrong type when trying to call a method. Most likely, you
accidentally passed the whole user or chat object instead of the id or username.
.. code-block:: python
# Wrong. You passed the whole Chat instance
app.send_message(chat, "text")
# Correct
app.send_message(chat.id, "text")

View file

@ -0,0 +1,17 @@
sqlite3.OperationalError: database is locked
============================================
This error occurs when more than one process is using the same session file, that is, when you run two or more clients
at the same time using the same session name or in case another program has accessed the file.
For example, it could occur when a background script is still running and you forgot about it. In this case, you either
restart your system or find and kill the process that is locking the database. On Unix based systems, you can try the
following:
#. ``cd`` into your session file directory.
#. ``fuser my_account.session`` to find the process id.
#. ``kill 1234`` to gracefully stop the process.
#. If the last command doesn't help, use ``kill -9 1234`` instead.
If you want to run multiple clients on the same account, you must authorize your account (either user or bot)
from the beginning every time, and use different session names for each parallel client you are going to use.

View file

@ -0,0 +1,16 @@
The account has been limited/deactivated
========================================
Pyrofork is a framework that interfaces with Telegram; it is at your commands, meaning it only does what you tell it to
do, the rest is up to you and Telegram (see `Telegram's ToS`_).
If you found your account being limited/deactivated, it could be due spam/flood/abuse of the API or the usage of certain
virtual/VoIP numbers.
If you think your account was limited/deactivated by mistake, you can write to recover@telegram.org, contact
`@SpamBot`_ or use `this form`_.
.. _@SpamBot: https://t.me/spambot
.. _this form: https://telegram.org/support
.. _Telegram's ToS: https://telegram.org/tos

View file

@ -0,0 +1,7 @@
UnicodeEncodeError: '...' codec can't encode ...
================================================
Where ``<encoding>`` might be *ascii*, *cp932*, *charmap* or anything else other than *utf-8*. This error usually
shows up when you try to print something and has very little to do with Pyrofork itself as it is strictly related to
your own terminal. To fix it, either find a way to change the encoding settings of your terminal to UTF-8 or switch to
another terminal altogether.

View file

@ -0,0 +1,7 @@
Uploading with URLs gives error WEBPAGE_CURL_FAILED
===================================================
When uploading media files using an URL, the server automatically tries to download the media and uploads it to the
Telegram cloud. This error usually happens in case the provided URL is not publicly accessible by Telegram itself or the
media file is too large. In such cases, your only option is to download the media yourself and upload it from your
local machine.

View file

@ -0,0 +1,7 @@
Using multiple clients at once on the same account
==================================================
Both user and bot accounts are able to run multiple sessions in parallel. However, you must not use the same session
in more than one client at the same time. The correct way to run multiple clients on the same account is by authorizing
your account (either user or bot) from the beginning each time, and use one separate session for each parallel client.

View file

@ -0,0 +1,6 @@
Using the same file_id across different accounts
================================================
Telegram file_id strings are bound to the account which generated them. An attempt in using a foreign file id will
result in errors such as ``[400 MEDIA_EMPTY]``. The only exception are stickers' file ids; you can use them across
different accounts without any problem.

View file

@ -0,0 +1,30 @@
What are the IP addresses of Telegram Data Centers?
===================================================
Telegram is currently composed by a decentralized, multi-DC infrastructure (currently 5 DCs, each of which can
work independently) spread across different locations worldwide. However, some of the less busy DCs have been lately
dismissed and their IP addresses are now kept as aliases to the nearest one.
.. csv-table:: Production Environment
:header: ID, Location, IPv4, IPv6
:widths: auto
:align: center
DC1, "MIA, Miami FL, USA", ``149.154.175.53``, ``2001:b28:f23d:f001::a``
DC2, "AMS, Amsterdam, NL", ``149.154.167.51``, ``2001:67c:4e8:f002::a``
DC3*, "MIA, Miami FL, USA", ``149.154.175.100``, ``2001:b28:f23d:f003::a``
DC4, "AMS, Amsterdam, NL", ``149.154.167.91``, ``2001:67c:4e8:f004::a``
DC5, "SIN, Singapore, SG", ``91.108.56.130``, ``2001:b28:f23f:f005::a``
.. csv-table:: Test Environment
:header: ID, Location, IPv4, IPv6
:widths: auto
:align: center
DC1, "MIA, Miami FL, USA", ``149.154.175.10``, ``2001:b28:f23d:f001::e``
DC2, "AMS, Amsterdam, NL", ``149.154.167.40``, ``2001:67c:4e8:f002::e``
DC3*, "MIA, Miami FL, USA", ``149.154.175.117``, ``2001:b28:f23d:f003::e``
.. centered:: More info about the Test Environment can be found :doc:`here <../topics/test-servers>`.
***** Alias DC

View file

@ -0,0 +1,12 @@
Why is the API key needed for bots?
===================================
Requests against the official bot API endpoints are made via JSON/HTTP and are handled by an intermediate server
application that implements the MTProto protocol and uses its own API key to communicate with the MTProto servers.
.. figure:: //_static/img/mtproto-vs-bot-api.png
:align: center
Using MTProto is the only way to communicate with the actual Telegram servers, and the main API requires developers to
identify applications by means of a unique key; the bot token identifies a bot as a user and replaces the user's phone
number only.

View file

@ -0,0 +1,18 @@
Why is the client reacting slowly in supergroups/channels?
==========================================================
Because of how Telegram works internally, every message you receive and send must pass through the creator's DC, and in
the worst case where you, the creator and another member all belong to three different DCs, the other member messages
have to go through from their DC to the creator's DC and finally to your DC. This is applied to each message and member
of a supergroup/channel and the process will inevitably take its time.
Another reason that makes responses come slowly is that messages are dispatched by priority. Depending on the kind
of member, some users receive messages faster than others and for big and busy supergroups the delay might become
noticeable, especially if you are among the lower end of the priority list:
1. Creator.
2. Administrators.
3. Bots.
4. Mentioned users.
5. Recent online users.
6. Everyone else.

171
docs/source/index.rst Normal file
View file

@ -0,0 +1,171 @@
Welcome to Pyrofork
===================
.. raw:: html
<div align="center">
<a href="/">
<h1 class="pyrogram-text pyrogram-text-index">PyroFork</h1>
</a>
</div>
<p align="center">
<b>Telegram MTProto API Framework for Python</b>
<br>
<a href="https://github.com/Mayuri-Chan">
Homepage
</a>
<a href="https://github.com/Mayuri-Chan/pyrofork">
Development
</a>
<a href="https://github.com/Mayuri-Chan/pyrofork/issues">
Issues
</a>
<a href="https://t.me/MayuriChan_Chat">
Support Chat
</a>
<a href="https://t.me/Pyrofork_CH">
News/Releases
</a>
</p>
.. code-block:: python
from pyrogram import Client, filters
app = Client("my_account")
@app.on_message(filters.private)
async def hello(client, message):
await message.reply("Hello from Pyrofork!")
app.run()
**Pyrofork** is a modern, elegant and asynchronous :doc:`MTProto API <topics/mtproto-vs-botapi>` framework.
It enables you to easily interact with the main Telegram API through a user account (custom client) or a bot identity
(bot API alternative) using Python.
Support
-------
If you'd like to support Pyrofork, you can consider:
- `Become a GitHub sponsor <https://github.com/sponsors/Mayuri-Chan>`_.
How the Documentation is Organized
----------------------------------
Contents are organized into sections composed of self-contained topics which can be all accessed from the sidebar, or by
following them in order using the :guilabel:`Next` button at the end of each page.
You can also switch to Dark or Light theme or leave on Auto (follows system preferences) by using the dedicated button
in the top left corner.
Here below you can, instead, find a list of the most relevant pages for a quick access.
First Steps
^^^^^^^^^^^
.. hlist::
:columns: 1
- :doc:`Quick Start <intro/quickstart>`: Overview to get you started quickly.
- :doc:`Invoking Methods <start/invoking>`: How to call Pyrofork's methods.
- :doc:`Handling Updates <start/updates>`: How to handle Telegram updates.
- :doc:`Error Handling <start/errors>`: How to handle API errors correctly.
API Reference
^^^^^^^^^^^^^
.. hlist::
:columns: 1
- :doc:`Pyrofork Client <api/client>`: Reference details about the Client class.
- :doc:`Available Methods <api/methods/index>`: List of available high-level methods.
- :doc:`Available Types <api/types/index>`: List of available high-level types.
- :doc:`Enumerations <api/enums/index>`: List of available enumerations.
- :doc:`Bound Methods <api/bound-methods/index>`: List of convenient bound methods.
Meta
^^^^
.. hlist::
:columns: 1
- :doc:`Pyrofork FAQ <faq/index>`: Answers to common Pyrofork questions.
- :doc:`Support Pyrofork <support>`: Ways to show your appreciation.
.. toctree::
:hidden:
:caption: Introduction
intro/quickstart
intro/install
.. toctree::
:hidden:
:caption: Getting Started
start/setup
start/auth
start/invoking
start/updates
start/errors
start/examples/index
.. toctree::
:hidden:
:caption: API Reference
api/client
api/methods/index
api/types/index
api/bound-methods/index
api/enums/index
api/handlers
api/decorators
api/errors/index
api/filters
.. toctree::
:hidden:
:caption: Topic Guides
topics/use-filters
topics/create-filters
topics/more-on-updates
topics/client-settings
topics/speedups
topics/text-formatting
topics/synchronous
topics/smart-plugins
topics/storage-engines
topics/serializing
topics/proxy
topics/scheduling
topics/mtproto-vs-botapi
topics/debugging
topics/test-servers
topics/advanced-usage
topics/voice-calls
.. toctree::
:hidden:
:caption: Meta
faq/index
support
.. toctree::
:hidden:
:caption: Telegram Raw API
telegram/functions/index
telegram/types/index
telegram/base/index

View file

@ -0,0 +1,50 @@
Install Guide
=============
Being a modern Python framework, Pyrofork requires an up to date version of Python to be installed in your system.
We recommend using the latest versions of both Python 3 and pip.
.. contents:: Contents
:backlinks: none
:depth: 1
:local:
-----
Install Pyrofork
----------------
- The easiest way to install and upgrade Pyrofork to its latest stable version is by using **pip**:
.. code-block:: text
$ pip3 install -U pyrofork
- or, with :doc:`TgCrypto <../topics/speedups>` as extra requirement (recommended):
.. code-block:: text
$ pip3 install -U pyrofork tgcrypto
Bleeding Edge
-------------
You can install the development version from the git ``master`` branch using this command:
.. code-block:: text
$ pip3 install -U https://github.com/Mayuri-Chan/pyrofork/archive/master.zip
Verifying
---------
To verify that Pyrofork is correctly installed, open a Python shell and import it.
If no error shows up you are good to go.
.. parsed-literal::
>>> import pyrogram
>>> pyrogram.__version__
'x.y.z'
.. _`Github repo`: http://github.com/Mayuri-Chan/pyrofork

Some files were not shown because too many files have changed in this diff Show more