├── .gitignore ├── LICENSE ├── README.md ├── android ├── debug.md ├── filters │ ├── dev.md │ └── index.md ├── forward.md ├── index.md ├── notifications.md ├── peek.md ├── saving.md └── various.md ├── desktop ├── features.md ├── index.md └── saving.md ├── donate.md ├── downloads.md ├── index.md ├── retype.yml └── shared ├── features.md ├── ghost.md └── index.yml /.gitignore: -------------------------------------------------------------------------------- 1 | # Code editors/IDEs 2 | .vscode/ 3 | .idea/ 4 | 5 | # Retype stuff 6 | .retype/ 7 | retype.manifest 8 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2024 Radolyn Labs 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # AyuGram Docs 2 | 3 | ## How to contribute 4 | 5 | Clone it, run local [**retype** server](https://retype.com/guides/getting-started/) with `retype start`, make your changes and commit. 6 | 7 | ## What to contribute 8 | 9 | Anything - it's just a plain text. You can add you personal experience to `Useful information` section, fix a typo, add link to your AyuGram Linux build, etc. 10 | 11 | ## License 12 | 13 | MIT 14 | -------------------------------------------------------------------------------- /android/debug.md: -------------------------------------------------------------------------------- 1 | --- 2 | icon: bug 3 | order: -6 4 | --- 5 | 6 | # Debug Actions 7 | 8 | ## Force show download buttons 9 | 10 | Shows "Save to Gallery" & "Save to Downloads" buttons on any media. 11 | 12 | ## Peek online using other accounts 13 | 14 | As the title says. 15 | 16 | ## FCM available 17 | 18 | Shows whenever FCM notifications are available for current installation. 19 | 20 | ## FCM token 21 | 22 | As the title says. 23 | 24 | ## FCM notifications count 25 | 26 | Lets you make sure that FCM is working. 27 | 28 | ## Enable WAL mode 29 | 30 | More about SQLite WAL **[here](https://www.sqlite.org/wal.html)**. 31 | 32 | *Shortly*, disabling this option lets you free some memory, **losing client stability**. 33 | 34 | ## Reset alerts 35 | 36 | As the title says. Alerts: local premium notice, first launch, exteraGram chats. 37 | 38 | ## Statistics 39 | 40 | For tracking database and memory state. 41 | -------------------------------------------------------------------------------- /android/filters/dev.md: -------------------------------------------------------------------------------- 1 | --- 2 | icon: rss 3 | --- 4 | 5 | # Format 6 | 7 | Here's an example of AyuGram Filters export: 8 | 9 | ```json 10 | { 11 | "exclusions": [ 12 | { 13 | "filterId": "72885e24-5c22-56c8-8ee6-e9ab504dc4e5", 14 | "dialogId": 1636445956 15 | } 16 | ], 17 | "filters": [ 18 | { 19 | "id": "72885e24-5c22-56c8-8ee6-e9ab504dc4e5", 20 | "dialogId": null, // shared filter 21 | "text": "some alt filtered text", 22 | "reversed": false, // if true, then would hide all meessages except matching ones 23 | "caseInsensitive": true, 24 | "enabled": true 25 | }, 26 | { 27 | "id": "72885e24-5c22-56c8-8ee6-e9ab504dc4e5", 28 | "dialogId": 1636445956, 29 | "text": "some filtered text", 30 | "reversed": false, 31 | "caseInsensitive": false, 32 | "enabled": true 33 | }, 34 | { 35 | "id": "e57b81bf-19a8-573a-a13a-9fa1a2d8a7ee", 36 | "dialogId": 1877362358, 37 | "text": "some filtered text", 38 | "reversed": false, 39 | "caseInsensitive": true, 40 | "enabled": false 41 | } 42 | ], 43 | "removeExclusions": [ 44 | { 45 | "filterId": "72885e24-0000-0000-0000-e9ab504dc4e5", // maybe it existed for a while, and then you deleted it 46 | "dialogId": 1636445956 47 | } 48 | ], 49 | "removeFiltersById": ["72885e24-1111-1111-1111-e9ab504dc4e5"], // see above 50 | "peers": { 51 | "1636445956": "@ReVanced_MMT", 52 | "1877362358": "@exteraForumRU" 53 | }, 54 | "version": 2 55 | } 56 | ``` 57 | 58 | Technically, you could create a well-maintained & curated list of filters for everybody's needs. 59 | Fields `removeExclusions` and `removeFiltersById` are not used by AyuGram's export feature - they're designed for use by list maintainers. 60 | 61 | ## `removeExclusions` & `removeFiltersById` 62 | 63 | Imagine you created a filter that should be removed; you could specify it in the `removeFiltersById` field. Next time, the user will try to import 64 | your list will get that filter deleted from his database. 65 | 66 | ## `peers` 67 | 68 | It's known that there's no method to find channels and chats by their IDs, right? 69 | 70 | Well, this field is just a workaround for that problem. When exporting filters, AyuGram will fill them automatically for public dialogs. 71 | As for private ones, you can specify an invite link. 72 | It's known to be buggy with these links (e.g., Telegram servers won't return the required `chat` field most of the time, so still no `access_hash`), but better than nothing. 73 | 74 | Keys in this field could be either numbers or strings. Both work fine. 75 | 76 | ## `version` 77 | 78 | Specifies the AyuGram Filters export version. At the moment, it's `2`. 79 | 80 | ### Changelog 81 | 82 | #### v2 83 | 84 | - Added `reversed` option that allows to hide all messages except those matching the filter 85 | 86 | ## Notes 87 | 88 | Worth noticing that: 89 | 90 | - all filter IDs are GUIDs 91 | - not including peers won't mark the backup as invalid 92 | - removing nonexistent exclusions or filters won't mark a backup as invalid 93 | -------------------------------------------------------------------------------- /android/filters/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | icon: project-roadmap 3 | order: -3 4 | --- 5 | 6 | # Filters 7 | 8 | Filters **completely** hide messages from your view in chat. They're available for chats and channels. 9 | 10 | !!!ANDROID 11 | *Technically*, it's still visible—0 opacity, it's full in width and 1px in height. But the media is not downloaded. 12 | 13 | Also, if the last message in the dialog is filtered, it's blurred in a dialog list. 14 | !!! 15 | 16 | You can *quickly* add a filter to current chat or to global by selecting some text in a message and clicking "Add filter". 17 | 18 | ## Hide from Blocked Users 19 | 20 | As the title says, this feature will hide all messages from **blocked users**. 21 | 22 | - You won't see their messages, reactions and typing status 23 | - User won't be shown in the chat member list 24 | 25 | *To block a user, go to user's profile > three dots > Block user.* 26 | 27 | ## Enable Shared Filters in Chats 28 | 29 | As the title says. 30 | 31 | ## Filters by chats 32 | 33 | ### Shared Filters 34 | 35 | These are enabled across all channels (and chats if enabled). 36 | 37 | ### Where's Others? 38 | 39 | Click on **"+"** in the top right corner and select desired chat. 40 | 41 | ### Excluded Filters 42 | 43 | You can exclude specific shared filter(s) by clicking on a button next to **"+"**. 44 | 45 | ## Deep Link for Import 46 | 47 | `tg://ayu/filters/import/URL`, where `URL` - URL without protocol. 48 | 49 | Example: `tg://ayu/filters/import/dpaste.com/H4EN4D8C4.txt` 50 | 51 | For security reasons, deep link works only with `dpaste.com`, `gist.githubusercontent.com` (raw `gist.github.com`), `pastebin.com` & `nekobin.com`. 52 | 53 | ## How to Write a Filter 54 | 55 | All filters are **Java regular expressions**. You need to have knowledge in regex language to write complex expressions. 56 | 57 | *However*, if you need just to block messages that contain a specific word, or maybe a hashtag, you can just specify it, without any changes. 58 | 59 | You can filter out all messages with buttons by looking for a tag ` 69 | 70 | 71 | 0 72 | ``` 73 | 74 | 75 | !!! 76 | There's a cool website named [regex101.com](https://regex101.com) where you can test and debug your expressions. 77 | !!! 78 | -------------------------------------------------------------------------------- /android/forward.md: -------------------------------------------------------------------------------- 1 | --- 2 | icon: repo-forked 3 | order: -4 4 | --- 5 | 6 | # AyuForward 7 | 8 | It's a feature that allows you to forward messages from **noforwards** channels. It also works for deleted messages. 9 | 10 | It will **automatically** download media on your device, and forward messages without an author. 11 | 12 | It's turned on by default. *Just try to forward something restricted.* 13 | 14 | To cancel forwading, long press on the input field with the status. 15 | -------------------------------------------------------------------------------- /android/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | icon: device-mobile 3 | order: -3 4 | --- 5 | 6 | # AyuGram for Android 7 | 8 | **AyuGram4A** is a fork of **[exteraGram](https://github.com/exteraSquad/exteraGram)** with ToS breaking features. 9 | These can't be implemented in **exteraGram** directly, because **exteraSquad** will lose their API keys. 10 | 11 | ### Which one should I use? 12 | 13 | **AyuGram** shares the same codebase with **exteraGram**. 14 | 15 | With **exteraGram** you'll get frequent and fast updates. It's more stable. 16 | 17 | With **AyuGram** you'll get ToS breaking features, no more. 18 | 19 | ## Main Features 20 | 21 | - Ghost Mode 22 | - Messages History 23 | - Message Filters (Hide Ads & Blocked Users) 24 | - Forward from Restricted Channels (AyuForward) 25 | - Local Telegram Premium 26 | 27 | ## Small Things 28 | 29 | - Built with Official Keys 30 | - Removed Telegram Ads & Proxy Sponsor 31 | - Screenshots in Secret Chats & for Secret Media 32 | - Expire Button for Expiring Photos and Videos 33 | - Banned or Kicked out Chats are Kept in Cache 34 | 35 | Note that we use **Crashlytics**. 36 | If you don't want to send crash reports or participate in analytics, you can disable it in **exteraGram Preferences**. 37 | 38 | ## Localization 39 | 40 | We have our own **[Crowdin](https://translate.ayugram.one)**. 41 | 42 | But since **AyuGram** is based on **exteraGram**, also join their project 43 | at **[Crowdin](https://crowdin.com/project/exteralocales)**! 44 | 45 | ## Credits 46 | 47 | - **[exteraGram](https://github.com/exteraSquad/exteraGram)** and all the **[exteraSquad](https://exteragram.app)** 48 | - [Telegraher](https://github.com/nikitasius/Telegraher) 49 | - [Nekogram](https://gitlab.com/Nekogram/Nekogram) 50 | - [Telegram FOSS](https://github.com/Telegram-FOSS-Team/Telegram-FOSS) 51 | -------------------------------------------------------------------------------- /android/notifications.md: -------------------------------------------------------------------------------- 1 | --- 2 | icon: bell 3 | order: -1 4 | --- 5 | 6 | # Notifications and Pushes 7 | 8 | If you compare the battery impact of **AyuGram** and any other legit Telegram client, you'll probably see a **difference**, like **30%** vs. **15%**. 9 | 10 | > TLDR; download separate build with FCM pushes [here](https://t.me/ayugramfcm) if you have Play Store. 11 | > 12 | > Tho it's worth to mention that these builds may work or not, depending on your ROM and installed GApps/MicroG. 13 | > Check if this build works fine for you, and if it's not - revert to the original version. 14 | > 15 | > In my personal experience, it works even better on devices with MicroG. 16 | > 17 | > Some users say that on devices with MIUI `.web` version works bettter. 18 | 19 | Well, it's because of that, *maybe annoying for you*, notification in status bar. It helps **AyuGram** to be in a foreground and receive updates from Telegram server. If you disable it (*not hide, but disable option **AyuGram Push Service***) in the preferences, most likely your system will kill the app. You can read more [here](https://dontkillmyapp.com/) about this problem. 20 | 21 | You'd ask, like *if other clients receive that pushes without working in the foreground, why can't **AyuGram** do like that?* 22 | 23 | There's a specific reason for that - **Firebase Cloud Messaging**. This is a service that keeps a background connection to **Google services** and receives updates from it, even if the app is closed. But it should be configured properly to work. You should have access to Telegram's application developer page, and provide keys for FCM to work properly. *But hey, you didn't forget that we're using official keys and can't access it?* 24 | 25 | FCM has some kind of **app verification** that requests a token for receiving pushes. In short, it verifies a **signature** and **package name**. 26 | 27 | And oh, *actually*, we bypassed both checks. **But you should use another build of AyuGram**, with the original package name. 28 | 29 | Talking about package name, we provide **two** different APKs, with different package names. The one with `org.telegram.messenger` that pretends to be a Telegram from **Play Store**, the other one with `org.telegram.messenger.web` that pretends to be a Telegram from the **[official site](https://telegram.org/android)**. We do that to make it possible to keep **AyuGram** and vanilla Telegram on the one device simultaneously. 30 | 31 | For example, if you download **AyuGram** with package name `org.telegram.messenger.web`, you'll be able to download a vanilla Telegram from **Play Store** and receive updates for it. 32 | 33 | !!! If you still experience high battery usage 34 | Disable `Keep-Alive Serivce` and/or `Background Connection` in `Notifications and Sounds`. Test it yourself to see if you get more reliable notifications and/or good battery usage. 35 | !!! 36 | -------------------------------------------------------------------------------- /android/peek.md: -------------------------------------------------------------------------------- 1 | --- 2 | icon: eye 3 | order: -5 4 | --- 5 | 6 | # Peek Online 7 | 8 | This function allows you to get user's last online **under certain circumstances**. Can be found in **three dots**. 9 | 10 | Let's look at some examples. 11 | 12 | 1. You're **hiding** your online, and the person you want to check - **not**. In this case, **AyuGram** adds the person to the exclusions list, gets online and removes him back. 13 | 2. The person you want to check **hides** his online, but it has one of your accounts on the **exclusions list**. In this case, **AyuGram** gets online from the excluded account. 14 | 15 | In the 2 option, **AyuGram** will try to add person to the excluded/included list on all accounts. 16 | 17 | If your other accoutns haven't ever seen the user you're trying to peek on, he should have a username to make it possible get his profile. 18 | 19 | !!! 20 | Don't spam the button. This function makes a lot of requests in the 2 option. 21 | !!! 22 | -------------------------------------------------------------------------------- /android/saving.md: -------------------------------------------------------------------------------- 1 | --- 2 | icon: database 3 | order: -2 4 | --- 5 | 6 | # Message Saving 7 | 8 | Compared to *Telegraher* or *Ninjagram*, we have the most **"true"** saving system. 9 | 10 | While those keep messages in *Telegram's built-in database*, probably in cache, we use **our own**, powered by Android Room. 11 | 12 | It has it's own **advantages**: 13 | - You can clear cache separately from deleted messages / history 14 | - Messages won't be affected by any Telegram update, event or action 15 | - These can be easily synchronized between devices 16 | 17 | Also, our saving system **automatically** tries to download files before they expire on the server, **giving more chances to save a media**. It's all stored in `Download/AyuGram/Saved Attachments` by default, *tho you can change it in the **AyuGram Preferences***. If you see it in a gallery - create file `.nomedia` in this folder manually. 18 | 19 | Database location - `/data/data/PACKAGE/databases/ayu-data*`, where `PACKAGE` is `com.radolyn.ayugram`, `org.telegram.messenger` or `org.telegram.messenger.web` - all depending on what version you're using. 20 | 21 | You can be sure that messages will be in an **AyuGram database**, but some of them won't be displayed for a reason how we load them in chats. 22 | 23 | You could use a "View Deleted" option in three dots to see a separate chat with only deleted messages, with ability to search through them. 24 | 25 | !!! A bit of technical information 26 | When you scroll the chat, Telegram loads messages from your cache in batches, 20-50 messages. **AyuGram** hooks into that process, and takes IDs of the last and the first messages, and loads deleted messages between them. There may be many of them - 10, 20, 100, 500, who knows. 27 | 28 | And, as you understand, there's a little problem - deleted messages between batches are not loaded. 29 | 30 | ==- BATCH 1 31 | 32 | ID 1 33 | 34 | ID 2 35 | 36 | ... 37 | 38 | ID 20 39 | === 40 | 41 | **some deleted message that won't be loaded, e. g. ID 21** 42 | 43 | ==- BATCH 2 44 | 45 | ID 22 46 | 47 | ID 23 48 | 49 | ... 50 | 51 | === 52 | 53 | It won't be changed in the near future, because it performs well in most cases. 54 | !!! 55 | 56 | ## Save Media 57 | 58 | As the title says. Automatically tries to download media after deletion, or creates a copy in `Saved Attachments` if downloaded before. 59 | 60 | ## Save in Bot Dialogs 61 | 62 | You want it to be **disabled**, since bots often edit/delete messages. 63 | -------------------------------------------------------------------------------- /android/various.md: -------------------------------------------------------------------------------- 1 | --- 2 | icon: flame 3 | order: -7 4 | --- 5 | 6 | # Useful information 7 | 8 | ## XPosed modules 9 | 10 | Don't use XPosed modules such as TGHooks, Re-Telegram and others, because they're conflicting with built-in functionality, and don't introduce new features. 11 | 12 | - Enabling anti-recall will lead to conflicts with the same function in AyuGram Preferences 13 | - Enabling `noforwards` bypass will lead to AyuForward not working 14 | - Enabling Fake Premium will give you the same results as AyuGram's Local Premium 15 | - Disabling `FLAG_SECURE` will lead to a conflict with "Show App Content in Task Switcher" 16 | - Disabling ads will lead to not requesting ads at all, which is not standard client behavior 17 | - Functions as "Hide Stories", "Use System Font", "Disable Channel Switching", etc. are part of exteraGram, so they're useless in modules too 18 | 19 | Basically, XPosed modules are useless with AyuGram. Well, maybe except TMoe - it has some usable features. 20 | 21 | ## FPS limit on 90+ displays 22 | 23 | if you have a 90+ FPS display with dynamic frequency, it's possible your vendor is blocking FPS at 60 for third party apps, because of which, for example, you might have 90-120 FPS in original Telegram but 60 on AyuGram. If this is the case - use FCM version, preferably the one without `.web` postfix. 24 | 25 | ## Deep links 26 | 27 | - `tg://ayu/settings` or `tg://ayu/preferences` or `tg://ayu/prefs` - open AyuGram Preferences. 28 | - `tg://ayu/db_export` and `tg://ayu/db_import` - export and import AyuGram database. 29 | - `tg://ayu/save` or `tg://ayu/saving` - open Mesasge Saving Preferences. 30 | - `tg://ayu/filters` - open filters. 31 | - `tg://ayu/filters/import/URL` - import filters from the specified URL (without `https://` part) 32 | - `tg://ayu/filter/ID` - open filters for ID peer. If you've never encountered it, it won't open. 33 | 34 | ## Utility links 35 | 36 | Please note that starting with 20240201 build, these links won't be clickable if they're sent by some random person. 37 | 38 | They're clickable if it's you who sent the message containing the link, or a developer. 39 | 40 | - `tg://ayu/push` or `tg://ayu/pushes` - tries to fix notifications by enabling background work and requesting notifications permission. 41 | 42 | ## ??? links 43 | 44 | - `tg://ayu` 45 | - `tg://nya` 46 | 47 | ## Debug functions 48 | 49 | Long tap on the AyuGram logo in the Preferences. 50 | 51 | Don't touch here anything until asked. 52 | -------------------------------------------------------------------------------- /desktop/features.md: -------------------------------------------------------------------------------- 1 | --- 2 | icon: star 3 | --- 4 | 5 | # Features 6 | 7 | ## Register URL Scheme (in three dots) 8 | 9 | Associates Telegram links to be open in AyuGram Desktop. 10 | 11 | ## Message Shot 12 | 13 | Select a few messages, and on the top bar there will be a "Shot" button. 14 | 15 | Allows you to quickly create *screenshots* of messages with desired theming and options. 16 | 17 | ## Disable similar channels 18 | 19 | ### Collapse similar channels 20 | 21 | Collapses recommendations block by default (upon joining a channel) 22 | 23 | ### Hide similar channels tab 24 | 25 | Removes similar channels tab from UI. 26 | 27 | ## Disable notify delay 28 | 29 | *Notification delaying is a Telegram built-in function that delays notifications on the current client instance if you're online from another client.* 30 | 31 | You can disable it if you want. 32 | 33 | ## Icon Picker 34 | 35 | Lets you change application's icon, just like on **Android**. 36 | 37 | !!! Windows note 38 | If it doesn't change the taskbar icon when AyuGram is pinned, make sure the created shortcut named `AyuGram.lnk` or `AyuGram Desktop.lnk`. 39 | !!! 40 | 41 | !!! 42 | On Windows, you can provide your own icon, by replacing `%appdata%/AyuGram.ico`. 43 | !!! 44 | 45 | ## Hide notification counters 46 | 47 | Removes count badges on the folders. 48 | 49 | ## Hide "All chats" folder 50 | 51 | As the title says. 52 | 53 | Implementation taken from **64Gram**. 54 | 55 | ## Context Menu Elements 56 | 57 | Lets you change AyuGram's menu items. 58 | 59 | Choosing "Extended menu" for an option means you'll have to press CTRL or SHIFT when opening context menu to see that. 60 | 61 | ## Mono Font 62 | 63 | Which font to use for mono text. 64 | 65 | ## Confirmations 66 | 67 | Simply show a box with confirmation before sending a message. 68 | 69 | ## Streamer Mode 70 | 71 | This one hides AyuGram windows and notifications from capture apps. It means that you can enable screensharing (e.g. in Discord) and nobody will see your messages and dialogs. 72 | Depending on Windows' mood, it'll be displayed either as a black box or as 'nothing'. literally. 73 | 74 | Context menus are still visible. 75 | -------------------------------------------------------------------------------- /desktop/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | icon: device-desktop 3 | order: -4 4 | --- 5 | 6 | # AyuGram for Desktop 7 | 8 | ## Features list (not full) 9 | 10 | - Ghost Mode 11 | - Messages History 12 | - Anti-Recall 13 | - Ad-Free by Default 14 | - No Copy & Download Restrictions by Default 15 | - Local Telegram Premium 16 | - Fully Hide Messages from Blocked Users 17 | - Configurable Wide Messages 18 | - Up to 100 Recent Stickers 19 | - Show Peer ID in Profile 20 | - Mono Font Customization 21 | - Application Icon Picker 22 | - Useful Context Menu Items & Its Customization 23 | - Colorful Replies & Quotes Removal 24 | - Similar Channels Removal 25 | - Folder Notification Counters Removal 26 | - "All Chats" Folder Removal 27 | - Message Details with Sticker and Emoji Pack Author 28 | - GIF Media Controls 29 | - Service Message Time 30 | - Voice & Round Video Messages Seeking 31 | - Top Center Notifications 32 | - Buttons to Read All Dialogs 33 | - Inline Button Callback View & Copy 34 | - Streamer Mode 35 | - Message Shot 36 | - Material Design Switches with Smooth Animation 37 | - Fixed Message Tails for a Group of Text/Sticker/Rounded Messages 38 | - Channel Badge for those who send messages from channels 39 | - Rounded Stickers 40 | - Show Reactions Seconds 41 | - Jump to Beginning (proper implementation) 42 | - Stickerpack / Emojipack Author Retrieval (actually opens profile and gives username) 43 | - Message Field Configuration 44 | - Taptic Engine Usage on macOS 45 | - Media Preview with Force Click on macOS 46 | 47 | And many more. It's hard to keep all things tracked, so download and explore on your own. 48 | -------------------------------------------------------------------------------- /desktop/saving.md: -------------------------------------------------------------------------------- 1 | --- 2 | icon: database 3 | --- 4 | 5 | # Message Saving 6 | 7 | AyuGram Desktop saves deleted messages in a **memory + database**. 8 | 9 | It means they'll disappear from chat once you restart the client, but could be found in three dots > "View Deleted". 10 | 11 | Edits history is stored in **database**. 12 | 13 | For now, only text saving is supported. No media at all. 14 | -------------------------------------------------------------------------------- /donate.md: -------------------------------------------------------------------------------- 1 | --- 2 | icon: credit-card 3 | order: -6 4 | --- 5 | 6 | # Donate 7 | 8 | Enjoy using **AyuGram**? Consider sending us a tip! 9 | 10 | Here's how you can donate: 11 | 12 | - Using [Boosty](https://boosty.to/alexeyzavar) - any card and PayPal 13 | - Using cryptocurrency: 14 | - `TRpbajq38qU8joThgAfKJLyEPbNjzsdPJ1` (TRX + USDT) 15 | - `UQA4i8U8vP3mYUZSV3KqDQEHPwmhninEqCkkKc7BITQ652de` (TON) 16 | - `bc1qdk6qq4mzq5yap3fpy0qau3246w3m3uwac9f0xd` (BTC) 17 | - `0x405589857C8DFAb45B2027c68ad1e58877FDa347` (ETH) 18 | - `8ZHQpPxpsdRjsWoBcF1dmvRM5dB6zEhJ3jMBFZjYfyHs` (SOL) 19 | - `0x405589857C8DFAb45B2027c68ad1e58877FDa347` (POL) 20 | -------------------------------------------------------------------------------- /downloads.md: -------------------------------------------------------------------------------- 1 | --- 2 | icon: download 3 | order: -2 4 | --- 5 | 6 | # Downloads 7 | 8 | The easiest way to download AyuGram is to go to our chat and select a dedicated topic: 9 | 10 | - [Android](https://t.me/ayugramchat/1238) 11 | - [Desktop (Windows)](https://t.me/ayugramchat/12788) 12 | - [Desktop (Arch Linux)](https://aur.archlinux.org/packages?O=0&K=ayugram) - choose wisely and check the sources. 13 | 14 | macOS version could be downloaded from [Releases](https://github.com/AyuGram/AyuGramDesktop/releases) tab on GitHub. 15 | 16 | Linux users have to compile it manually. 17 | 18 | !!!WARNING 19 | There's no public AyuGram iOS version at the moment. Don't get fooled by scammers. 20 | !!! 21 | -------------------------------------------------------------------------------- /index.md: -------------------------------------------------------------------------------- 1 | --- 2 | icon: rocket 3 | order: -1 4 | --- 5 | 6 | # AyuGram 7 | 8 | **AyuGram** is a Telegram client focusing on improving life with features that can't be implemented in regular clients. 9 | 10 | We have **Android** and **Desktop** versions. 11 | 12 | !!!WARNING 13 | It is advanced client. You'll have to spend **a lot** of your time exploring all features. 14 | If you're not ready to waste your time on tests - better **stick up with another client**. 15 | !!! 16 | 17 | !!! 18 | Note that our client **breaks [developer Telegram ToS](https://core.telegram.org/api/terms#1-privacy-amp-security)**, implementing features as: 19 | - Saving deleted messages and history 20 | - Ghost Mode 21 | - Seeing self-destructing messages after expiring 22 | - Message filters 23 | 24 | ***AyuGram** pretends to be an official application to Telegram. If you look at the list of sessions, you'll see yourself using a **regular** Telegram rather than AyuGram. 25 | Generally, developer ToS apply only to developers, by restricting their application keys. But since we're using official ones, Telegram can't block our client. And since it's applied only to developers, they can't ban you, except if you're doing bad things that violate [user ToS](https://telegram.org/tos). 26 | But as we've seen a lot of times, the Telegram team likes to change rules without notifying.* 27 | 28 | So, we just have to say that: 29 | 30 | > **We are not responsible for the possible blocking of your account. Use the client at your own risk.** 31 | !!! 32 | 33 | ## Features 34 | 35 | Android and Desktop versions are different enough. Check features in the separate pages: 36 | 37 | - [Android](/android) 38 | - [Desktop](/desktop) 39 | 40 | ## Telegram Chat 41 | 42 | Yep, we have it. Better join to get notified about new versions. 43 | 44 | [t.me/ayugramchat](https://t.me/ayugramchat) 45 | 46 | ## Donate 47 | 48 | See [dedicated page](/donate). 49 | -------------------------------------------------------------------------------- /retype.yml: -------------------------------------------------------------------------------- 1 | input: . 2 | output: .retype 3 | url: docs.ayugram.one 4 | branding: 5 | title: AyuGram 6 | label: Docs 7 | links: 8 | - text: Channel 9 | link: https://t.me/ayugram1338 10 | - text: Forum 11 | link: https://t.me/ayugramchat 12 | integrations: 13 | plausible: 14 | domain: docs.ayugram.one 15 | host: plausible.radolyn.com 16 | footer: 17 | copyright: "© Copyright {{ year }} Radolyn Labs. All rights reserved." -------------------------------------------------------------------------------- /shared/features.md: -------------------------------------------------------------------------------- 1 | --- 2 | icon: star 3 | --- 4 | 5 | # Features 6 | 7 | ## Disable colorful replies (ex. "Simple quotes & replies") 8 | 9 | Removes coloful background and emojis from replies, quotes and previews. 10 | 11 | ## Open profile by ID 12 | 13 | Send a link like `tg://user?id=ID` somewhere and click on it. If specified user is in local database (you've seen him before), you'll see a profile. 14 | Otherwise, the request to `@tgdb_bot` will be made, and if it's in the database, you'll see a profile. 15 | -------------------------------------------------------------------------------- /shared/ghost.md: -------------------------------------------------------------------------------- 1 | --- 2 | icon: eye-closed 3 | --- 4 | 5 | # Ghost Mode 6 | 7 | This feature available on both Android and Desktop. 8 | 9 | ## Don't Read Messages 10 | 11 | This feature won't show the person you're talking to that you've read their message. 12 | 13 | Listening/viewing to the voice/video message won't mark it as read too, *except when you use Telegram Premium's speech-to-text.* 14 | 15 | ## Don't Read Stories 16 | 17 | Same as the previous, but for stories. 18 | 19 | *The story will be marked as viewed if you somehow react to it—send a reaction, reply, etc.—it's a server-side limitation.* 20 | 21 | ## Don't Send Online 22 | 23 | If you enable this, you won't go online if you open the client. 24 | 25 | *Notably, if you do any sus action as sending a message, you'll go online. It's a server-side limitation.* 26 | 27 | ## Don't Send Typing 28 | 29 | Disables any typing activity, such as: 30 | - "typing..." 31 | - "choosing a sticker" 32 | - "playing a game" 33 | 34 | *...and others, if any.* 35 | 36 | ## Go Offline Automatically 37 | 38 | Simply puts you offline after blinking online. 39 | 40 | !!!warning 41 | Be cautious. If you decide to open any other Telegram client with this feature turned on, you'll get an online blinking effect, where **AyuGram** tries to put you **offline**, and the **other client** trying to put you **online**. 42 | !!! 43 | 44 | ## Read on Interact 45 | 46 | If you don't want others to know you're using a **Ghost Mode**, you can enable this option to read messages after certain actions and appear online for a second 47 | 48 | ## Schedule Messages 49 | 50 | Allows you to send messages without appearing online by using scheduled messages. Works only if a full **Ghost Mode** is active. 51 | 52 | It simply delays sending your message for some time. 53 | 54 | - For simple text messages, the delay is **12 seconds** 55 | - For messages with media, it's calculated dynamically; formula is `Math.max(6, (int) Math.ceil(fileSize / 1024.0f / 1024.0f * 4.5f));`, where `fileSize` is a file size in bytes. 56 | 57 | It can be quite buggy sometimes, and it's still not perfect. *But well, it works.* 58 | 59 | Don't use on bad networks, or with a high ping. 60 | 61 | ## Alert Before Opening Story 62 | 63 | Show a simple alert before opening any story, suggesting that you enable **Ghost Mode**. If you tap anywhere outside the box, it'll disappear without opening a story. 64 | 65 | ## Local Telegram Premium 66 | 67 | Activates client-side premium features. 68 | 69 | It won't increase your [limits](https://limits.tginfo.me/en) on pin amount, caption length, etc. 70 | 71 | !!! Android 72 | You may choose emoji status, quote's & profile's color & icon. 73 | !!! 74 | -------------------------------------------------------------------------------- /shared/index.yml: -------------------------------------------------------------------------------- 1 | icon: file-directory 2 | order: -5 --------------------------------------------------------------------------------