{"id":19783826,"url":"https://github.com/dalirnet/plaintl","last_synced_at":"2025-02-28T06:54:10.503Z","repository":{"id":57325521,"uuid":"446945423","full_name":"dalirnet/plaintl","owner":"dalirnet","description":"A plain telegram listener","archived":false,"fork":false,"pushed_at":"2022-01-26T10:19:10.000Z","size":109,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-02-11T17:09:36.665Z","etag":null,"topics":["javascript","mtproto","nodejs","telegram","tl-schema"],"latest_commit_sha":null,"homepage":"https://www.npmjs.com/package/plaintl","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dalirnet.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-01-11T18:57:10.000Z","updated_at":"2022-06-06T08:46:19.000Z","dependencies_parsed_at":"2022-09-09T05:51:31.117Z","dependency_job_id":null,"html_url":"https://github.com/dalirnet/plaintl","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dalirnet%2Fplaintl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dalirnet%2Fplaintl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dalirnet%2Fplaintl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dalirnet%2Fplaintl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dalirnet","download_url":"https://codeload.github.com/dalirnet/plaintl/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241114203,"owners_count":19912025,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["javascript","mtproto","nodejs","telegram","tl-schema"],"created_at":"2024-11-12T06:09:21.563Z","updated_at":"2025-02-28T06:54:10.479Z","avatar_url":"https://github.com/dalirnet.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# PlainTL\n\nA **plain** **t**elegram **l**istener based on [GramJS](https://github.com/gram-js/gramjs)\n\n### Installation\n\n```bash\n# npm\nnpm i plaintl\n\n# yarn\nyarn add plaintl\n```\n\n```javascript\n// esm\nimport { startSession, eventEmitter } from \"plaintl\"\n\n// cjs\nconst { startSession, eventEmitter } = require(\"plaintl\")\n```\n\n### Usage\n\nListen to `Requires` events and then submit your values with emitter functions. _(only for the first session)_\n\n```javascript\neventEmitter\n    .on(\"RequiresPhoneNumber\", (phoneNumberEmitter) =\u003e {\n        phoneNumberEmitter(\"+989990009999\")\n    })\n    .on(\"RequiresPhoneCode\", (phoneCodeEmitter) =\u003e {\n        phoneCodeEmitter(\"550055\")\n    })\n    .on(\"RequiresPassword\", (passwordEmitter) =\u003e {\n        passwordEmitter(\"password\")\n    })\n    .on(\"RequiresFirstAndLastNames\", (firstAndLastNamesEmitter) =\u003e {\n        firstAndLastNamesEmitter(\"firstname\", \"lastname\")\n    })\n```\n\nPreparing provider parameters.\n\n\u003e Obtain `apiId` and `apiHash` from [here](https://my.telegram.org/auth).\n\n\u003e For receive phone code via SMS set `forceSMS` to **_true_**.\n\n\u003e For `logLevel`, one can select between **_error_** , **_warn_** , **_info_** , **_debug_** or **_none_**.\n\n```javascript\nconst providerParameters = {\n    /* required */\n    apiId: \"your-api-id\",\n    apiHash: \"your-api-hash\",\n\n    /* optional */\n    forceSMS: false,\n    logLevel: \"info\",\n}\n```\n\nStart `PlainTL` session.\n\n```javascript\n// async\nconst client = await startSession(providerParameters)\n\n// sync\nstartSession(providerParameters).then((client) =\u003e {\n    //\n})\n```\n\nListen to `Telegram` [Update](#update-events) events.\n\n```javascript\neventEmitter.on(\"UpdateShortMessage\", (event) =\u003e {\n    console.log(event)\n})\n```\n\n### Cli\n\n```bash\n# npm\nnpx plaintl\n\n# github\nnpx github:dalirnet/plaintl\n```\n\n### Limitation\n\n-   Not browser-compatible.\n\n---\n\n#### Update events\n\n-   [UpdateWebPage](https://core.telegram.org/constructor/UpdateWebPage)\n-   [UpdateUserTyping](https://core.telegram.org/constructor/UpdateUserTyping)\n-   [UpdateUserStatus](https://core.telegram.org/constructor/UpdateUserStatus)\n-   [UpdateUserPhoto](https://core.telegram.org/constructor/UpdateUserPhoto)\n-   [UpdateUserPhone](https://core.telegram.org/constructor/UpdateUserPhone)\n-   [UpdateUserName](https://core.telegram.org/constructor/UpdateUserName)\n-   [UpdateTheme](https://core.telegram.org/constructor/UpdateTheme)\n-   [UpdatesTooLong](https://core.telegram.org/constructor/UpdatesTooLong)\n-   [UpdateStickerSetsOrder](https://core.telegram.org/constructor/UpdateStickerSetsOrder)\n-   [UpdateStickerSets](https://core.telegram.org/constructor/UpdateStickerSets)\n-   [UpdateShortSentMessage](https://core.telegram.org/constructor/UpdateShortSentMessage)\n-   [UpdateShortMessage](https://core.telegram.org/constructor/UpdateShortMessage)\n-   [UpdateShortChatMessage](https://core.telegram.org/constructor/UpdateShortChatMessage)\n-   [UpdateShort](https://core.telegram.org/constructor/UpdateShort)\n-   [UpdateServiceNotification](https://core.telegram.org/constructor/UpdateServiceNotification)\n-   [UpdatesCombined](https://core.telegram.org/constructor/UpdatesCombined)\n-   [UpdateSavedGifs](https://core.telegram.org/constructor/UpdateSavedGifs)\n-   [Updates](https://core.telegram.org/constructor/Updates)\n-   [UpdateRecentStickers](https://core.telegram.org/constructor/UpdateRecentStickers)\n-   [UpdateReadMessagesContents](https://core.telegram.org/constructor/UpdateReadMessagesContents)\n-   [UpdateReadHistoryOutbox](https://core.telegram.org/constructor/UpdateReadHistoryOutbox)\n-   [UpdateReadHistoryInbox](https://core.telegram.org/constructor/UpdateReadHistoryInbox)\n-   [UpdateReadFeaturedStickers](https://core.telegram.org/constructor/UpdateReadFeaturedStickers)\n-   [UpdateReadChannelOutbox](https://core.telegram.org/constructor/UpdateReadChannelOutbox)\n-   [UpdateReadChannelInbox](https://core.telegram.org/constructor/UpdateReadChannelInbox)\n-   [UpdateReadChannelDiscussionOutbox](https://core.telegram.org/constructor/UpdateReadChannelDiscussionOutbox)\n-   [UpdateReadChannelDiscussionInbox](https://core.telegram.org/constructor/UpdateReadChannelDiscussionInbox)\n-   [UpdatePtsChanged](https://core.telegram.org/constructor/UpdatePtsChanged)\n-   [UpdatePrivacy](https://core.telegram.org/constructor/UpdatePrivacy)\n-   [UpdatePinnedMessages](https://core.telegram.org/constructor/UpdatePinnedMessages)\n-   [UpdatePinnedDialogs](https://core.telegram.org/constructor/UpdatePinnedDialogs)\n-   [UpdatePinnedChannelMessages](https://core.telegram.org/constructor/UpdatePinnedChannelMessages)\n-   [UpdatePhoneCallSignalingData](https://core.telegram.org/constructor/UpdatePhoneCallSignalingData)\n-   [UpdatePhoneCall](https://core.telegram.org/constructor/UpdatePhoneCall)\n-   [UpdatePendingJoinRequests](https://core.telegram.org/constructor/UpdatePendingJoinRequests)\n-   [UpdatePeerSettings](https://core.telegram.org/constructor/UpdatePeerSettings)\n-   [UpdatePeerLocated](https://core.telegram.org/constructor/UpdatePeerLocated)\n-   [UpdatePeerHistoryTTL](https://core.telegram.org/constructor/UpdatePeerHistoryTTL)\n-   [UpdatePeerBlocked](https://core.telegram.org/constructor/UpdatePeerBlocked)\n-   [UpdateNotifySettings](https://core.telegram.org/constructor/UpdateNotifySettings)\n-   [UpdateNewStickerSet](https://core.telegram.org/constructor/UpdateNewStickerSet)\n-   [UpdateNewScheduledMessage](https://core.telegram.org/constructor/UpdateNewScheduledMessage)\n-   [UpdateNewMessage](https://core.telegram.org/constructor/UpdateNewMessage)\n-   [UpdateNewEncryptedMessage](https://core.telegram.org/constructor/UpdateNewEncryptedMessage)\n-   [UpdateNewChannelMessage](https://core.telegram.org/constructor/UpdateNewChannelMessage)\n-   [UpdateMessageReactions](https://core.telegram.org/constructor/UpdateMessageReactions)\n-   [UpdateMessagePollVote](https://core.telegram.org/constructor/UpdateMessagePollVote)\n-   [UpdateMessagePoll](https://core.telegram.org/constructor/UpdateMessagePoll)\n-   [UpdateMessageID](https://core.telegram.org/constructor/UpdateMessageID)\n-   [UpdateLoginToken](https://core.telegram.org/constructor/UpdateLoginToken)\n-   [UpdateLangPackTooLong](https://core.telegram.org/constructor/UpdateLangPackTooLong)\n-   [UpdateLangPack](https://core.telegram.org/constructor/UpdateLangPack)\n-   [UpdateInlineBotCallbackQuery](https://core.telegram.org/constructor/UpdateInlineBotCallbackQuery)\n-   [UpdateGroupCallParticipants](https://core.telegram.org/constructor/UpdateGroupCallParticipants)\n-   [UpdateGroupCallConnection](https://core.telegram.org/constructor/UpdateGroupCallConnection)\n-   [UpdateGroupCall](https://core.telegram.org/constructor/UpdateGroupCall)\n-   [UpdateGeoLiveViewed](https://core.telegram.org/constructor/UpdateGeoLiveViewed)\n-   [UpdateFolderPeers](https://core.telegram.org/constructor/UpdateFolderPeers)\n-   [UpdateFavedStickers](https://core.telegram.org/constructor/UpdateFavedStickers)\n-   [UpdateEncryption](https://core.telegram.org/constructor/UpdateEncryption)\n-   [UpdateEncryptedMessagesRead](https://core.telegram.org/constructor/UpdateEncryptedMessagesRead)\n-   [UpdateEncryptedChatTyping](https://core.telegram.org/constructor/UpdateEncryptedChatTyping)\n-   [UpdateEditMessage](https://core.telegram.org/constructor/UpdateEditMessage)\n-   [UpdateEditChannelMessage](https://core.telegram.org/constructor/UpdateEditChannelMessage)\n-   [UpdateDraftMessage](https://core.telegram.org/constructor/UpdateDraftMessage)\n-   [UpdateDialogUnreadMark](https://core.telegram.org/constructor/UpdateDialogUnreadMark)\n-   [UpdateDialogPinned](https://core.telegram.org/constructor/UpdateDialogPinned)\n-   [UpdateDialogFilters](https://core.telegram.org/constructor/UpdateDialogFilters)\n-   [UpdateDialogFilterOrder](https://core.telegram.org/constructor/UpdateDialogFilterOrder)\n-   [UpdateDialogFilter](https://core.telegram.org/constructor/UpdateDialogFilter)\n-   [UpdateDeleteScheduledMessages](https://core.telegram.org/constructor/UpdateDeleteScheduledMessages)\n-   [UpdateDeleteMessages](https://core.telegram.org/constructor/UpdateDeleteMessages)\n-   [UpdateDeleteChannelMessages](https://core.telegram.org/constructor/UpdateDeleteChannelMessages)\n-   [UpdateDcOptions](https://core.telegram.org/constructor/UpdateDcOptions)\n-   [UpdateContactsReset](https://core.telegram.org/constructor/UpdateContactsReset)\n-   [UpdateConfig](https://core.telegram.org/constructor/UpdateConfig)\n-   [UpdateChatUserTyping](https://core.telegram.org/constructor/UpdateChatUserTyping)\n-   [UpdateChatParticipants](https://core.telegram.org/constructor/UpdateChatParticipants)\n-   [UpdateChatParticipantDelete](https://core.telegram.org/constructor/UpdateChatParticipantDelete)\n-   [UpdateChatParticipantAdmin](https://core.telegram.org/constructor/UpdateChatParticipantAdmin)\n-   [UpdateChatParticipantAdd](https://core.telegram.org/constructor/UpdateChatParticipantAdd)\n-   [UpdateChatParticipant](https://core.telegram.org/constructor/UpdateChatParticipant)\n-   [UpdateChatDefaultBannedRights](https://core.telegram.org/constructor/UpdateChatDefaultBannedRights)\n-   [UpdateChat](https://core.telegram.org/constructor/UpdateChat)\n-   [UpdateChannelWebPage](https://core.telegram.org/constructor/UpdateChannelWebPage)\n-   [UpdateChannelUserTyping](https://core.telegram.org/constructor/UpdateChannelUserTyping)\n-   [UpdateChannelTooLong](https://core.telegram.org/constructor/UpdateChannelTooLong)\n-   [UpdateChannelReadMessagesContents](https://core.telegram.org/constructor/UpdateChannelReadMessagesContents)\n-   [UpdateChannelParticipant](https://core.telegram.org/constructor/UpdateChannelParticipant)\n-   [UpdateChannelMessageViews](https://core.telegram.org/constructor/UpdateChannelMessageViews)\n-   [UpdateChannelMessageForwards](https://core.telegram.org/constructor/UpdateChannelMessageForwards)\n-   [UpdateChannelAvailableMessages](https://core.telegram.org/constructor/UpdateChannelAvailableMessages)\n-   [UpdateChannel](https://core.telegram.org/constructor/UpdateChannel)\n-   [UpdateBotWebhookJSONQuery](https://core.telegram.org/constructor/UpdateBotWebhookJSONQuery)\n-   [UpdateBotWebhookJSON](https://core.telegram.org/constructor/UpdateBotWebhookJSON)\n-   [UpdateBotStopped](https://core.telegram.org/constructor/UpdateBotStopped)\n-   [UpdateBotShippingQuery](https://core.telegram.org/constructor/UpdateBotShippingQuery)\n-   [UpdateBotPrecheckoutQuery](https://core.telegram.org/constructor/UpdateBotPrecheckoutQuery)\n-   [UpdateBotInlineSend](https://core.telegram.org/constructor/UpdateBotInlineSend)\n-   [UpdateBotInlineQuery](https://core.telegram.org/constructor/UpdateBotInlineQuery)\n-   [UpdateBotCommands](https://core.telegram.org/constructor/UpdateBotCommands)\n-   [UpdateBotChatInviteRequester](https://core.telegram.org/constructor/UpdateBotChatInviteRequester)\n-   [UpdateBotCallbackQuery](https://core.telegram.org/constructor/UpdateBotCallbackQuery)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdalirnet%2Fplaintl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdalirnet%2Fplaintl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdalirnet%2Fplaintl/lists"}