Giter Club home page Giter Club logo

telega.el's Introduction

CI test DOCKER image build Telegram chat TDLib MELPA MELPA Stable GNU Guix Open Collective

Backers

logo telega.el

See Telega Manual for comprehensive documentation.

Latest telega.el release can be found in the https://github.com/zevlg/telega.el/tree/release-0.8.0 branch, it is compatible with the latest TDLib major release 1.8.0


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

telega.el implements most of the features official Telegram clients has. The only major feature telega.el lacks is full support for voice/video chats.

Unique features

And much more.

Screenshots

Root buffer screen:

screen31

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.

Support telega.el by donating to:

TON
TON: UQDLQ-q6Yob4zB7KVpk2xKCPHBwfFrc5JmGCF74NPyB1ViIN
USDT TRC20
USDT TRC20: TJ9ekHtD1dnZsCAKJoc7Yx1emNmdLwFbzP
BTC
BTC: 1PeqqU1dGEqXy52yk3XEySaHXREsrtDvCc

Donating makes you telega patron forever and you get telega cat eyars if you wish.

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/

telega.el's People

Contributors

zevlg avatar sarg avatar blindingdark avatar cireu avatar akater avatar kekeimiku avatar 4da avatar alexmurray avatar grburgess avatar cnsunyour avatar samueltardieu avatar iah0nii3re avatar toure00 avatar tazjin avatar ojab avatar jumper047 avatar jaor avatar vonfry avatar seblemaguer avatar steamedfish avatar yangsheng6810 avatar setser avatar qingshuizheng avatar pkulev avatar omar-polo avatar y0sik avatar macovsky avatar luciuschen avatar g0odchars avatar dholm avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.