-
Notifications
You must be signed in to change notification settings - Fork 1
/
про-интернет-общение.el
45 lines (40 loc) · 1.81 KB
/
про-интернет-общение.el
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
;;; про-интернет-общение.el --- общение в интернет -*- lexical-binding: t -*-
;;; Commentary:
;; Конфигурация мессенджеров
;;; Code:
;;;; Telegram
(require 'установить-из)
(use-package telega
:defer t
:init (установить-из :repo "zevlg/telega.el")
:custom ((telega-use-docker t)
(telega-use-images t)
(telega-chat-fill-column 80)
;; (telega-emoji-use-images t)
(telega-emoji-font-family "Noto Color Emoji"))
:hook ((telega-root-mode . telega-notifications-mode)
(telega-load-hook . global-telega-url-shorten-mode)
(telega-root-mode . hl-line-mode)
(telega-chat-mode . variable-pitch-mode))
:config)
(defun выбрать-контакт-в-телеге ()
"Выбор из всех контактов и чатов Telega с помощью consult."
(interactive)
(require 'telega)
(require 'consult)
(let* ((contacts (telega--getContacts))
(formatted-contacts (mapcar (lambda (user)
(cons (telega--tl-get user :first_name) user))
contacts)))
(consult--read (mapcar 'car formatted-contacts)
:prompt "Выберите контакт или чат: "
:category 'telega-contact-chat
:require-match t
:history 'consult--telega-contacts-chats-history
:sort t
:state (lambda (action selected)
(when selected
(let ((choice (cdr (assoc selected formatted-contacts))))
(telega-chat-with choice)))))))
(provide 'про-интернет-общение)
;;; про-интернет-общение.el ends here