All Projects → zevlg → Telega.el

zevlg / Telega.el

Licence: gpl-3.0
GNU Emacs telegram client (unofficial)

Projects that are alternatives of or similar to Telega.el

Awesome Telegram
Collection great groups, channels, bots and libraries for Telegram
Stars: ✭ 502 (-8.89%)
Mutual labels:  telegram
Telegram Send
Send messages and files over Telegram from the command-line.
Stars: ✭ 519 (-5.81%)
Mutual labels:  telegram
Telegram Mtproto
Telegram client api (MTProto) library
Stars: ✭ 542 (-1.63%)
Mutual labels:  telegram
Mautrix Telegram
A Matrix-Telegram hybrid puppeting/relaybot bridge
Stars: ✭ 508 (-7.8%)
Mutual labels:  telegram
Ggtags
Emacs frontend to GNU Global source code tagging system.
Stars: ✭ 515 (-6.53%)
Mutual labels:  emacs
Robe
Code navigation, documentation lookup and completion for Ruby
Stars: ✭ 525 (-4.72%)
Mutual labels:  emacs
Elsa
Emacs Lisp Static Analyzer
Stars: ✭ 485 (-11.98%)
Mutual labels:  emacs
Magit
It's Magit! A Git porcelain inside Emacs.
Stars: ✭ 5,406 (+881.13%)
Mutual labels:  emacs
Deft
Deft for Emacs
Stars: ✭ 521 (-5.44%)
Mutual labels:  emacs
Emacs Ng
A new approach to Emacs - Including TypeScript, Threading, Async I/O, and WebRender.
Stars: ✭ 525 (-4.72%)
Mutual labels:  emacs
Docker.el
Manage docker from Emacs.
Stars: ✭ 511 (-7.26%)
Mutual labels:  emacs
Telethon
Pure Python 3 MTProto API Telegram client library, for bots too!
Stars: ✭ 5,805 (+953.54%)
Mutual labels:  telegram
Telegrambotphp
A very simple PHP Telegram Bot API for sending messages.
Stars: ✭ 524 (-4.9%)
Mutual labels:  telegram
Prelude
Prelude is an enhanced Emacs 25.1+ distribution that should make your experience with Emacs both more pleasant and more powerful.
Stars: ✭ 4,735 (+759.35%)
Mutual labels:  emacs
Crux
A Collection of Ridiculously Useful eXtensions for Emacs
Stars: ✭ 543 (-1.45%)
Mutual labels:  emacs
Portacle
A portable common lisp development environment
Stars: ✭ 494 (-10.34%)
Mutual labels:  emacs
Php Mode
A powerful and flexible Emacs major mode for editing PHP scripts
Stars: ✭ 522 (-5.26%)
Mutual labels:  emacs
Emacs Elisp Programming
Tutorial about programming Elisp and Emacs text editor customization.
Stars: ✭ 548 (-0.54%)
Mutual labels:  emacs
Chatengine
Open source mtproto server written in golang with compatible telegram client
Stars: ✭ 544 (-1.27%)
Mutual labels:  telegram
Dotfiles
Let's be honest: mostly Emacs.
Stars: ✭ 536 (-2.72%)
Mutual labels:  emacs

CI test Telegram chat TDLib MELPA MELPA Stable GNU Guix Open Collective

logo telega.el

See Telega Manual for comprehensive documentation.

This project is developed on two primary branches. The 'releases' branch is kept in compatibility with TDLib major releases. The 'master' branch is for developmental purposes, and utilizes unstable features in TDLib.


telega.el is full featured unofficial client for Telegram platform for GNU Emacs.

telega.el is actively developed, for this reason, some features are not implemented, or they are present just as skeleton for future implementation. However, the core parts are mature enough so that it is possible to use telega.el for basic chat.

Features

In some random order:

  • [x] Listing chats, reordering chats according to internal Telegram order
  • [x] Getting info about users, groups and supergroups
  • [x] Joining chats by invitation link M-x telega-chat-join-by-link RET
  • [x] Fetching chat history, sending messages, replies, edits, deleting
  • [x] Resend failed messages
  • [x] Creating new groups, upgrading basicgroup to supergroup
  • [x] Forwarding messages
  • [x] D-Bus notifications on incoming messages in chats with enabled notifications
  • [ ] Voice/Video calls
  • [x] Downloading files from the cloud
  • [x] Uploading files/media (also pasting images from clipboard) to the cloud
  • [x] Display chat actions, such as "@user is typing..."
  • [x] Display/Update chat's draft message
  • [x] Company backends for emoji (:<emoji> syntax), usernames, hashtags, bot commands completions
  • [x] Secret chats
  • [x] Online global searching chats/contacts/messages
  • [x] Avatars, Photos, Stickers, Animated Stickers
  • [x] Animated GIF, via ffplay
  • [x] Special messages such as location/live location, voice/video messages, contacts, self-destruct photo/video, etc
  • [x] Poll messages, Poll creation
  • [x] Games, Game Scores
  • [x] Handling local links, such as "tg:" or "https://t.me/xxx"
  • [x] ReplyMarkup (inline keyboard buttons) in the messages
  • [x] InstantView for web pages
  • [x] Blocking/Unblocking users, listing blocked users
  • [x] Inline bots requests, via "@bot query"
  • [x] Chat Lists, "Archived Chats", see telega#100
  • [x] Searching for messages in chat (PARTLY)
  • [x] Shared media
  • [x] Multiple accounts
  • [ ] Traffic control, see telega#62
  • [x] TranslationsPlatform support (PARTLY)
  • [x] Message scheduling, Reminders
  • [ ] Cloud themes, see TDLib#691
  • [x] Telegram Folders (since TDLib 1.6.6)
  • [x] Disable/Enable message notification on receiver side
  • [x] Sticker Outlines (since TDLib 1.7.X+), see Emacs Story - https://t.me/emacs_stories/73
  • [ ] Voice Chats (since TDLib 1.7.X+)

Unique features

  • [x] Expressive ibuffer-like chats filtering
  • [x] Powerful chats sorting
  • [x] Custom order for chats (some chats on top, some chats on bottom, etc)
  • [x] Client side messages filtering
  • [x] Get diff for the message edits, see screenshot
  • [x] Messages squashing minor mode.
  • [x] Highlight code blocks minor mode.
  • [x] Emacs Stories - share your Emacs experience with other Emacs users.

And much more.

Screenshots

Root buffer screen:

screen15

Chat in @emacs_en group:

screen11

Dashboard with Emacs Stories and important chats:

dashboard

Starting with telega.el

See Telega Manual for comprehensive documentation.

How to contribute

Join our Telegram group to discuss the development of telega.el.

Submitting issues is exceptionally helpful.

License

telega.el is licensed under GNU GPL version 3.

FAQ

Q: I have this error while installing telega

Cannot open load file: No such file or directory, visual-fill-column

A: telega.el depends on the visual-fill-column package, please install it first. This package is available from MELPA

Q: I have this error while running telega

(error "Invalid image type ‘svg’")

and/or

(error "Invalid image type ‘imagemagick’")

A: The appropriate behavior is adjusted based on what version of Emacs you use. If you are using 26.3 or older you need to ensure that your Emacs was configured with SVG and ImageMagick support. SVG support is provided using the librsvg library, and ImageMagick is provided by libmagickcore and libmagickwand development libraries.

If you are using Emacs 27.1+ the ImageMagick support was deprecated as it posed a significant security issue, but telega now relies on the in-built (and faster) image-transforms for those versions.

Q: Does telega have proxy support?

A: Yes, use telega-proxies custom variable, for example:

(setq telega-proxies
      (list
       '(:server "1.2.3.4" :port 8080 :enable :false
                 :type (:@type "proxyTypeSocks5"
                               :username "rkn" :password "jopa"))
       '(:server "2.3.4.5" :port 8088 :enable t
                 :type (:@type "proxyTypeSocks5"
                               :username "rkn" :password "jopa"))
       ))

See C-h v telega-proxies RET for full range of proxy types.

Q: Stickers are not shown.

A: If you are using Emacs 26.3 or older, ensure you it was configured with ImageMagick support. Next, install the webp package.

Q: There are no glyphs for some unicode characters.

A: Please either install fonts-symbola package, or run guix package -i font-gnu-{freefont,unifont} on GNU Guix

If using fonts-symbola, add this to your init.el:

(set-fontset-font t 'unicode "Symbola" nil 'append)

Q: There is some formatting issues when some unicode characters are used.

A: Yes, partly. If character has full width of multiple ordinary chars you can tweak char-width-table. Add code like this to your init.el:

(setq telega-symbol-unread "🄌")

(defun my-telega-load ()
  ;; 🄌 occupies two full chars, but (string-width "🄌") returns 1
  ;; so we install custom widths to `char-width-table'
  (telega-symbol-set-width telega-symbol-unread 2)

  ;; ... other code
  )

(add-hook 'telega-load-hook 'my-telega-load)

There is also telega-symbol-widths custom variable, you might want to modify it.

Q: Is there erc-like chats tracking functionality?

A: Yes, set telega-use-tracking-for to non-nil

Tracking is done only for opened chats, i.e. chats having corresponding chat buffer.

Its value is a Chat Filter.

For example, to enable tracking for chats with enabled notifications or for chats where you have unread mention, use:

(setq telega-use-tracking-for '(or unmuted mention))

Q: Is it possible to use telega in tty-only Emacs (aka emacs-nox)?

A: Yes, set telega-use-images to nil before starting telega

Q: Is it possible to add markup to messages?

A: Yes, use C-u RET to send a message with markup

See Sending ordinary messages for details

You may also find telega-mnz.el from the contrib directory to be complimentary.

Q: I've enabled telega-notifications-mode, but notifications does not show

A: Make sure your time is correct

Eval (telega-time-seconds) to get UTC time in your Emacs, it should be more or less the same as on https://www.unixtimestamp.com/

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].