Красивый рейтинга для бота Телеграм

Use saved searches to filter your results more quickly

Cancel Create saved search

You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.

Telegram-бот для упоминания пользователей по настраиваемым группам.

License

winogradoff/tg-mentions-bot

This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Switch branches/tags
Branches Tags
Could not load branches
Nothing to show
Could not load tags
Nothing to show

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Cancel Create

  • Local
  • Codespaces

HTTPS GitHub CLI
Use Git or checkout with SVN using the web URL.
Work fast with our official CLI. Learn more about the CLI.

Sign In Required

Please sign in to use Codespaces.

10 МЕГА ПОЛЕЗНЫХ ТЕЛЕГРАМ БОТОВ

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching Xcode

If nothing happens, download Xcode and try again.

Launching Visual Studio Code

Your codespace will open once ready.

There was a problem preparing your codespace, please try again.

Latest commit

Git stats

Files

Failed to load latest commit information.

Latest commit message
Commit time

README.md

tg-mentions-bot

Описание

Telegram-бот для упоминания пользователей по настраиваемым группам.

Поддерживаемые команды

/help — справка по всем командам /groups — список групп /members — список пользователей в группе /call — позвать пользователей конкретной группы /here — позвать пользователей из всех групп /add_group — добавить группу /remove_group — удалить группу /remove_group_force — удалить группу со всеми пользователями /add_alias — добавить синоним группы /remove_alias — удалить синоним группы /add_members — добавить пользователей в группу /remove_members — удалить пользователей из группы /purge_members — удалить указанных пользователей из всех групп чата /enable_anarchy — всем доступны настройки /disable_anarchy — только админам доступны настройки

Примеры использования

/add_group group1 /remove_group group1 /remove_group_force group1

Добавление/удаление синонима для группы

/add_alias group1 qqq /remove_alias qqq

Получение списка групп/пользователей

/groups /members group1

Упоминание списка пользователей из группы

/call group1 /call qqq /call group1 какое-то сообщение

Упоминание всех пользователей из всех созданных групп

/here /here какое-то сообщение

База данных

  1. поднять локально docker-контейнер с БД:

docker-compose up -d

  1. создать конфиг для FlyWay и сохранить его в файл flyway.dev.conf :

flyway.url=jdbc:postgresql://localhost:5432/db flyway.user=user flyway.password=pass flyway.locations=src/main/resources/db/migration

  1. выполнить для создания всех нужных таблиц:

flyway -configFiles=./flyway.dev.conf migrate

  1. остановить и удалить docker-контейнер с БД:
Еще по теме:  Мои группы в Телеграмм как увидеть

docker-compose rm -s

About

Telegram-бот для упоминания пользователей по настраиваемым группам.

Источник: github.com

Как сгенерировать картинку по описанию при помощи нейросети? Подборка рабочих ботов Telegram

Как сгенерировать картинку по описанию при помощи нейросети? Подборка рабочих ботов TelegramКак сгенерировать картинку по описанию при помощи нейросети? Подборка рабочих ботов Telegram

Нейросети становятся всё умнее и умнее, а их применение не ограничивается несколькими сферами. Они способны генерировать тексты и мысли, помогают IT-индустрии и геймдеву, задействуются в социальных и даже правоохранительных структурах.

Иногда алгоритмы попадают и в негативные истории, например, когда их используют для генерации дипфейков. Но есть и положительные стороны, среди которых можно отметить генеративный арт. Сегодня сгенерировать картинку при помощи нейросети можно даже в Telegram.

Сервис Botmother — одна из самых известных в России платформ,
позволяющая создавать ботов для популярных мессенджеров без навыков
программирования — собрал рабочие боты Telegram для генерации картинок.

Чуть больше года назад «Сбер» представил ruDALL-E — первую нейросеть, которая способна генерировать картинки по запросу на русском языке. В Telegram есть соответствующий бот, при помощи которого можно генерировать фото по описанию, используя модель ruDALL-E Malevich (XL).

Stable Diffusion — это выпущенная в 2022 году модель преобразования текста в изображение с глубоким обучением. Она уникальна своей производительностью в плане качества изображения, скорости и относительно низких требований к ресурсам и памяти.

Чтобы генерировать текстовые описания к будущим картинкам, которые будет рисовать Stable Diffusion, можно воспользоваться соответствующим Telegram-ботом.

MidJourney

Это ещё одна нейросеть, которая создаёт изображения из текстовых описаний, аналогичная DALL-E или Stable Diffusion, но в Telegram, увы, нет соответствующего бота. Зато есть бот, который можно использовать для генерации текстовых описаний.

Обработка запроса на генерирование рандомного текста занимает обычно 8 минут, но может и дольше в зависимости от очереди. Сами картинки после получения текста можно генерировать в Discord.

Источник: kod.ru

Как создать телеграм-бота на Python

Python — самый популярный язык программирования в феврале 2022 года.

телеграм-бот на Python

Виктория Дербенченко
Автор статьи
16 марта 2022 в 14:39

Телеграм используют более пятисот миллионов людей по всему миру. Компании с его помощью упрощают заказ товаров или услуг, дают консультации. Для этого используют ботов — автоматические программы. Их пишут на разных языках программирования. Рассмотрим, как создать бот на самом популярном в феврале 2022 года языке — Python.

Установите интерпретатор Python

Python — динамически типизированный, интерпретируемый язык. Программы, написанные на нём, не компилируются в исполняемые файлы. Поэтому, чтобы запускать Python-программы, устанавливают его интерпретатор.

На курсе Skypro «Python-разработчик» с этого начинается первый модуль. Вся программа построена от простого к сложному и подходит даже для тех, кто не имеет опыта в программировании и технических знаний. За 10 месяцев можно освоить профессию на уровне уверенного новичка.

️ Windows

как установить интерпретатор Python

Выберите последнюю версию Python

64-bit в интерпретаторе Python

Выберите 64-bit

как установить интерпретатор Python на Windows

Поставьте галочку перед установкой напротив Add Python to PATH

pip install virtualenv

❗ Вызов интерпретатора в командной строке Windows отличается от других ОС. Используйте команду py вместо python3.

️ Linux

Если вы используете ОС Linux, вероятно, Python уже установлен. Чтобы проверить, откройте терминал с помощью команды:

python3 —version

Если вы видите что-то вроде Python 3.x.x, то Python есть. В противном случае используйте установленный менеджер пакетов. В основном это apt. Введите команду:

sudo apt install python3

Установите виртуальное окружение с помощью команды:

sudo apt install python3-venv
Python-разработчик: новая работа через 9 месяцев
Получится, даже если у вас нет опыта в IT

️ MacOS

На макбуках Python часто тоже уже есть. Откройте терминал и проверьте с помощью команды:

Еще по теме:  Как выглядит значок Телеграмм на телефоне

python3 —version

Ответ Python 3.x.x, а не ошибка, тоже подтверждает, что Python установлен. Если нет — используйте менеджер пакетов brew. Введите команду:

brew install python3

Установите пакет для создания виртуального окружения:

pip install virtualenv

Создайте папки проекта и виртуального окружения

Откройте терминал Linux или MacOS, командную строку Windows. Перейдите в директорию, в которой вы хотите создать проект бота. Последовательно

mkdir myBot cd myBot python3 -m venv env #

или, если вы используете Windows:

py -m venv env #

Эти команды создадут папку проекта myBot внутри текущей рабочей директории. А в ней — папку с виртуальным окружением.

Активируйте окружение, выберите и установите библиотеки

Pandas: обзор библиотеки для Python

Чтобы активировать виртуальное окружение на MacOS или Linux, используйте команду

source ./env/bin/activate
source.envbinactivate.bat

Чтобы создавать боты, используют разные библиотеки. Самые популярные: python-telegram-bot с синхронным подходом, aiogram с асинхронным.

Асинхронность позволяет отвлекаться от задач и не ждать ввода от пользователя, поэтому мы будем использовать библиотеку aiogram. Документация по ней — на docs.aiogram.

Используйте менеджер Python-пакетов (pip). Чтобы установить библиотеку aiogram, введите команду:

pip install aiogram

Зарегистрируйте бота и получите API-ключ

как добавить нового бота в телеграм

как зарегистрировать бота в телеграме

Введите команду /newbot и отображаемое имя бота

Теперь введите никнейм бота. Он должен быть уникальным, в конце обязательно слово bot. Когда юзернейм пройдет валидацию, вы получите сообщение с API-ключом.

валидация бота в телеграм

Никому не сообщайте полученный токен

Примеры ботов

Эхобот

Для начала в папке проекта создайте несколько файлов.

как создать эхобота

Handlers.py будет хранить функции — обработчики сообщений и команд, main.py нужен для запуска

Напишите в main.py код:

from aiogram import Bot, Dispatcher, executor import handlers API_TOKEN = ‘вставьте сюда ваш токен’ # создаем экземпляры бота и диспетчера bot = Bot(token=API_TOKEN) dp = Dispatcher(bot) # запускаем программу if __name__ == ‘__main__’: # указание skip_updates=True # пропустит команды, # которые отправили # до старта бота executor.start_polling(dp, skip_updates=True)
from aiogram import Bot, Dispatcher, executor import handlers

Здесь из библиотеки aiogram мы импортируем классы Bot, Dispatcher — класс, который регистрирует, на какие команды/сообщения и какой функцией отвечать. И executor — он запускает бота и выполняет функции, зарегистрированные в диспетчере. На второй строке мы импортируем модуль handlers.py — в нём хранят обработчики.

Далее откройте файл handlers.py и напишите в нём пару команд, которые будут обрабатывать запросы:

from aiogram import types # функция, обрабатывающая команду /start async def start(message: types.Message): await message.answer(«Привет!nНапиши мне что-нибудь!») # функция, которая отвечает на сообщение # текстом async def echo(message: types.Message): await message.answer(«Сам ты: » + message.text)

Здесь из модуля aiogram импортируем типы, с помощью которых преобразуем текст сообщения или файлы в структуру данных. Это может быть Message — сообщение, Audio — аудиозапись, Animation — анимация.

Далее определите асинхронные функции, чтобы обрабатывать команды /start и отвечать на сообщения.

Зарегистрируйте эти функции в диспетчере. Для этого в файле main.py добавьте перед запуском программы:

# регистрируем функции dp.register_message_handler(h.start, commands=[«start»]) dp.register_message_handler(h.echo)

В итоге файл main.py выглядит так:

from aiogram import Bot, Dispatcher, executor import handlers API_TOKEN = ‘вставьте сюда ваш токен’ # создаем бота и диспетчер bot = Bot(token=API_TOKEN) dp = Dispatcher(bot) # регистрируем функции dp.register_message_handler(handlers.start, commands=[«start»]) dp.register_message_handler(handlers.echo) # запускаем программу if __name__ == ‘__main__’: # указание skip_updates=True # пропустит команды, # которые отправили # до старта бота executor.start_polling(dp, skip_updates=True)

ка запустить Эхобот в телеграме

Чтобы проверить работу, введите в терминале python3 main.py или py main.py на Windows. Откройте бота в телеграме и запустите его

Криптобот

Чтобы написать криптобота, который будет сообщать текущую цену BTC, LTC и DASH, используйте бесплатный API-сервис SoChain. Еще потребуется дополнительная библиотека, чтобы создать асинхронные запросы aiohttp, но ее устанавливают вместе с aiogram.

Еще по теме:  Как восстановить Телеграмм после удаления на телефоне Андроид

Создайте новый модуль utils.py. Добавьте в него url-адрес API-сервиса. Чтобы узнавать цену, используйте метод Get Prices. Он возвращает json-объект с данными о цене из нескольких источников. Поэтому напишите функцию, которая вычисляет среднее значение:

BASE_URL = «https://sochain.com/api/v2/» # API URL # функция, чтобы рассчитать цену def calculate_price(data): prices = [float(entity[«price»]) for entity in data[«data»][«prices»]] return f» <(sum(prices) / len(prices)):.2f>USD»

Далее откройте файл handlers.py и напишите код:

from aiogram import types # импортируем библиотеку aiohttp import aiohttp # импортируем из utils все данные from utils import * # обработчик команды /start async def start(message: types.Message): await message.answer(«Привет!nНапиши мне акроним криптовалюты, чтобы узнать текущую цену») # обработчик команды /help async def help(message: types.Message): await message.answer(«Доступные сети:n» + «n».join(networks)) # обработчик запроса цены async def get_price(message: types.Message): session = aiohttp.ClientSession() # создаем GET запрос по закрепленному за методом get_price url async with session.get(BASE_URL + f»get_price//USD») as resp: # получаем ответ в формате json data = await resp.json() # если статус запроса — успешно if data[«status»] == «success»: # рассчитываем цену и отправляем пользователю price = calculate_price(data) await message.answer(price) else: # сообщаем о том, что произошла ошибка await message.answer(«Произошла ошибка»)

Теперь измените main.py файл: зарегистрируйте функции. Затем протестируйте бота:

from aiogram import Bot, Dispatcher, executor import handlers API_TOKEN = ‘вставьте сюда ваш токен’ bot = Bot(token=API_TOKEN) dp = Dispatcher(bot) dp.register_message_handler(handlers.start, commands=[«start»]) dp.register_message_handler(handlers.help, commands=[«help»]) dp.register_message_handler(handlers.get_price) if __name__ == ‘__main__’: executor.start_polling(dp, skip_updates=True)

как запустить криптобота в телегараме

Когда пользователь укажет неподдерживаемую сеть ETH, бот вернет цену биткоина, потому что так устроен API-сервис. Если он не распознал сеть, то использует BTC

Чтобы исправить ошибку, создайте клавиатуру, которая возвращает нужные значения. Напишите специальный класс Middleware: в нём описываются проверки до и после обработки запроса. Либо проверьте вхождение внутри функции. Последний вариант проще и легче.

Если пользователь отправит неподдерживаемый акроним криптосети, вы сообщите ему об этом. Для этого в файле utils.py определите список поддерживаемых сетей:

networks = [«BTC», «LTC», «DASH»] # <— поддерживаемые сети BASE_URL = «https://sochain.com/api/v2/» # API URL def calculate_price(data): prices = [float(entity[«price»]) for entity in data[«data»][«prices»]] return f» <(sum(prices) / len(prices)):.2f>USD»

Теперь отредактируйте функцию расчета цены криптовалюты в файле handlers.py. Для этого добавьте проверку вхождения сети в список поддерживаемых:

async def get_price(message: types.Message): network = message.text.upper() # приводим сообщение к верхнему регистру # выполняем проверку вхождения if network not in networks: await message.answer(«Вы указали неподдерживаемую криптовалюту») return session = aiohttp.ClientSession() async with session.get(BASE_URL + f»get_price//USD») as resp: data = await resp.json() if data[«status»] == «success»: price = calculate_price(data) await message.answer(price) else: await message.answer(«Произошла ошибка»)

Когда пользователь укажет неподдерживаемую сеть ETH, бот сообщит об этом

Код всех файлов

networks = [«BTC», «LTC», «DASH»] # поддерживаемые сети BASE_URL = «https://sochain.com/api/v2/» # API URL def calculate_price(data): prices = [float(entity[«price»]) for entity in data[«data»][«prices»]] return f» <(sum(prices) / len(prices)):.2f>USD»
import aiohttp from aiogram import types from utils import * async def start(message: types.Message): await message.answer(«Привет!nНапиши мне акроним криптовалюты, чтобы узнать текущую цену») async def help(message: types.Message): await message.answer(«Доступные сети:n» + «n».join(networks)) async def get_price(message: types.Message): network = message.text.upper() if network not in networks: await message.answer(«Вы указали неподдерживаемую криптовалюту») return session = aiohttp.ClientSession() async with session.get(BASE_URL + f»get_price//USD») as resp: data = await resp.json() if data[«status»] == «success»: price = calculate_price(data) await message.answer(price) else: await message.answer(«Произошла ошибка»)
from aiogram import Bot, Dispatcher, executor import handlers API_TOKEN = ‘вставьте сюда ваш токен’ bot = Bot(token=API_TOKEN) dp = Dispatcher(bot) dp.register_message_handler(handlers.start, commands=[«start»]) dp.register_message_handler(handlers.help, commands=[«help»]) dp.register_message_handler(handlers.get_price) if __name__ == ‘__main__’: executor.start_polling(dp, skip_updates=True)

Источник: sky.pro

Рейтинг
( Пока оценок нет )
Загрузка ...