Есть ли в Telegram возможность форматировать код в чате и личных сообщениях?
Добрый день!
Я не так давно для себя открыл Telegram с его возможностями по форматированию. То есть возможностей из коробки у него нет, но есть, например, бот @bold, который имеет возможности делать текст подчеркнутым, жирным или курсивным. А есть ли боты, которые позволяют форматировать код с подсветкой в чатах и личных сообщениях? К сожалению самостоятельно я не нашел ничего подобного в поисковиках 🙁
Меня интересует именно C#, C++, Go.
Знает ли кто-нибудь подобные боты?
- Вопрос задан более трёх лет назад
- 31591 просмотр
4 комментария
Простой 4 комментария
Как отправить сгенерированный штрих код в телеграмм при помощи бота на python
не могу выполнить задачу, у меня есть алгоритм который генерирует штрих код, но мне нужно, чтобы код генерировался из сообщения, который присылает пользователь в телеграмм бота и по этому коду генерировалось изображение штрих-кода в формате png и отправлялось обратно в бота. Помогите.
def generate_ean13(): digits = [random.randint(0, 9) for _ in range(12)] odd_sum = sum(digits[0::2]) even_sum = sum(digits[1::2]) control_sum = (odd_sum * 3 + even_sum) % 10 control_sum = (10 - control_sum) if control_sum != 0 else 0 barcode = digits + [control_sum] barcode_str = ''.join(map(str, barcode)) return barcode_str barcode = generate_ean13() print(barcode) data = barcode barcode_gen = EAN13(data) with open("EAN-13.png", "wb") as f: EAN13(barcode, writer=ImageWriter()).write(f)
Отслеживать
задан 9 июл в 19:31
3 3 3 бронзовых знака
Данный код генерирует штрих-код путём генерации самого кода с помощью алгоритма
9 июл в 19:33
2 ответа 2
Сортировка: Сброс на вариант по умолчанию
Вы можете использовать BytesIO и aiogram вот так:
from aiogram import Bot, Dispatcher, types from aiogram.types import InputFile from aiogram.utils import executor from pybarcodes import EAN13 from io import BytesIO bot = Bot(token="ТВОЙ_ТОКЕН") dp = Dispatcher(bot) def generate_ean13(digits): odd_sum = sum(digits[0::2]) even_sum = sum(digits[1::2]) control_sum = (odd_sum * 3 + even_sum) % 10 control_sum = (10 - control_sum) if control_sum != 0 else 0 barcode = digits + [control_sum] barcode_str = ''.join(map(str, barcode)) return barcode_str def generate_image_barcode(code): barcode = generate_ean13(code) data = barcode barcode_gen = EAN13(data) file = BytesIO() file.name = 'code.png' barcode_gen.image.save(file, 'PNG') file.seek(0) return file @dp.message_handler(commands=["start"]) async def start(message: types.Message): await message.answer("Отправь 12 цифр от 0 до 9.") @dp.message_handler() async def generate(message: types.Message): if message.text.isnumeric() and len(message.text) == 12: digits = [int(s) for s in message.text] photo = InputFile(generate_image_barcode(digits)) await message.answer_photo(photo) else: await message.answer("Отправь 12 цифр от 0 до 9.") if __name__ == "__main__": executor.start_polling(dp)
Отслеживать
ответ дан 9 июл в 20:07
1,858 2 2 золотых знака 5 5 серебряных знаков 13 13 бронзовых знаков
У меня выдаёт ошибки при вводе кода
10 июл в 10:53
@Alexsandr какие?
10 июл в 11:11
Пропишу в отдельном ответе ошибки, которые выводит мне консоль
10 июл в 11:49
@Alexsandr вам нужно установить Pillow версии ниже чем 10 используйте pip install Pillow==9.5.0
10 июл в 11:54
Установил, но у меня вывело Check the permissions
10 июл в 12:13
Task exception was never retrieved future: exception=AttributeError(«‘ImageDraw’ object has no attribute ‘textsize'»)> Traceback (most recent call last): File «C:\Users\1\OneDrive\Рабочий стол\55\venv\Lib\site-packages\aiogram\dispatcher\dispatcher.py», line 415, in _process_polling_updates for responses in itertools.chain.from_iterable(await self.process_updates(updates, fast)): ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File «C:\Users\1\OneDrive\Рабочий стол\55\venv\Lib\site-packages\aiogram\dispatcher\dispatcher.py», line 235, in process_updates return await asyncio.gather(*tasks) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File «C:\Users\1\OneDrive\Рабочий стол\55\venv\Lib\site-packages\aiogram\dispatcher\handler.py», line 117, in notify response = await handler_obj.handler(*args, **partial_data) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File «C:\Users\1\OneDrive\Рабочий стол\55\venv\Lib\site-packages\aiogram\dispatcher\dispatcher.py», line 256, in process_update return await self.message_handlers.notify(update.message) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File «C:\Users\1\OneDrive\Рабочий стол\55\venv\Lib\site-packages\aiogram\dispatcher\handler.py», line 117, in notify response = await handler_obj.handler(*args, **partial_data) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File «C:\Users\1\OneDrive\Рабочий стол\55.1\test_bot.py», line 44, in generate photo = InputFile(generate_image_barcode(digits)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File «C:\Users\1\OneDrive\Рабочий стол\55.1\test_bot.py», line 30, in generate_image_barcode barcode_gen.image.save(file, ‘PNG’) ^^^^^^^^^^^^^^^^^ File «C:\Users\1\OneDrive\Рабочий стол\55\venv\Lib\site-packages\pybarcodes\barcode.py», line 46, in image return self._get_barcode_image() ^^^^^^^^^^^^^^^^^^^^^^^^^ File «C:\Users\1\OneDrive\Рабочий стол\55\venv\Lib\site-packages\pybarcodes\barcode.py», line 153, in _get_barcode_image text_width, _ = draw.textsize(self.code, font) ^^^^^^^^^^^^^ AttributeError: ‘ImageDraw’ object has no attribute ‘textsize’
Отслеживать
ответ дан 10 июл в 11:48
3 3 3 бронзовых знака
добро пожаловать на stack overflow на русском! похоже, это не ответ, а дополнение к вопросу. если так и есть, то дополните, пожалуйста, текст вопроса, нажав ссылку «править» ниже текста вопроса, а данный «ответ», пожалуйста, удалите
В Telegram избавляются от авторизации по SMS
Команда популярного мессенджера Telegram внесла нововведение, которое может не понравиться некоторым пользователям. В десктопных приложениях Telegram и веб-клиентах пропала возможность авторизации с помощью SMS.
Официальных объявлений на этот счёт пока не делалось. На изменения обратил внимание канал Telegram Info. Как сообщает источник, Telegram Desktop, Telegram MacOS и все официальные веб-версии (Webogram, WebK, WebZ, React) перестали отправлять код для авторизации в мессенджере через SMS. Таким образом, для входа в Telegram на ПК или браузере теперь потребуется активированный клиент Telegram на мобильном устройстве, куда и будет отправлен код.
При этом авторизация с помощью SMS продолжает работать в мобильных приложениях Telegram для iOS и Android, а также в неофициальных сборках Telegram Desktop.
Как отправить код в телеграмме
Содержание:
- Как создать QR-код для своего аккаунта в Telegram
- Как создать QR-код для своего аккаунта во «ВКонтакте»
- Как прочитать QR-коды приложений с телефона
Как создать QR-код для своего аккаунта в Telegram
Возможность создавать собственные куар-коды для пользователей Telegram добавил в мобильное приложение в конце 2021 года.
Зайдите в «Настройки». Проверьте, выбрано ли у вас имя пользователя. Если нет — задайте его.
После этого в левом верхнем углу появится значок QR-кода.
Обучись востребованной и перспективной профессии, выбрав онлайн-курс в каталоге курсов интернет-маркетинга.
Перейдите в раздел и выберите дизайн картинки.
QR-кодом можно поделиться в соцсетях, мессенджерах или сразу отправить его в сторис Instagram (если приложение доступно на вашем устройстве).
Аналогичные куар-коды можно создать для групп, каналов и ботов: для этого нужно перейти в настройки группы / канала / бота.
Как создать QR-код для своего аккаунта во «ВКонтакте»
В приложении перейдите на свой профиль в социальной сети. Кнопка с QR-кодом будет доступна вверху страницы.
Вы можете создать оригинальный дизайн кода, поделиться им с друзьями или сохранить на устройство.
Создать QR-код для перехода на профиль ВК также можно с десктопной версии: откройте свою страничку и перейдите в раздел «Ссылка на профиль». Здесь можно будет создать QR-код в простом дизайне или скопировать ссылку на профиль.
Как прочитать QR-коды приложений с телефона
В том же разделе «ВКонтакте», где вы создавали QR-код, доступен сканер, который распознает коды других людей. Чтобы им воспользоваться, нужно навести камеру на код или предварительно сохранить изображение с кодом в галерее на смартфоне, а затем открыть его в сканере. Сервис распознает коды не только от «ВКонтакте», но и от других соцсетей.
Если вы не пользуетесь «ВКонтакте», распознавание кодов обычно заложено в функции встроенной камеры смартфона — достаточно навести камеру на код, чтобы появилось предложение перейти по ссылке.
Еще один способ — скачать специализированную программу для чтения QR-кодов, например, Google Lens. В опциях таких программ также часто есть сканирование кода с сохраненного на устройстве файла.
Фото в тексте: RB.ru. Обложка: Unsplash.
Подписывайтесь на наш Telegram-канал, чтобы быть в курсе последних новостей и событий!