Добро пожаловать на Pawno-Info.Ru - Портал о программировании №1

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

Маппинг для сервера

Если вы хотите обновить Ваш сервер новыми доработками - то зайдите в наш раздел. Большой выбор готовых решений от наших пользователей

Моды для сервера

Огромный выбор различных модификаций для Вашего сервера. пролистайте эти темы! Возможно именно там Вы найдете то, что искали уже давно.

Модификации SA

Хотите разнообразить свою игру в San Andrease? Смелее в наш раздел. Отличный сборник готовых решений. Играйте с удовольствием

[Python] Пишем бота для подсчета символов | Telegram Bot

[FARADAY]

• Профик •
Регистрация
15 Окт 2015
Сообщения
1,380
Лучшие ответы
41
Реакции
804
Адрес
Ростов-на-Дону
  • Помощник
  • OLD
  • Победитель
  • Писатель
TelegramBot


Привет, давайте разберем как написать Telegram бота на языке Python.

1. Нам потребуется дистрибутив python (3.7 - 3.8) возьмем 3.7 -
Урок по установке -

2. Далее, через командную строку установим библиотеку aiogram
(в командной строку 'WIN + R' прописываем:
pip install aiogram )

2.1 Создадим бота:
Находим в телеграмме бота @BotFather
Прописываем ему команду: /newbot
Далее он скажет задать имя боту, следом username.
После чего он даст вам ссылку на бота и TOKEN
пример: 1186494148:AAHthiyN5-AdasrhO08w0U9JcIJgPrvXqO50

3. Далее создаем папку в любом месте, в ней создаем файл bot.py (название любое).

В нее вставляем код:


Python:
import logging
from aiogram import Bot, Dispatcher, executor, types

API_BOT = 'Вставить token' # взятый у botfather
#Выглядит в таком формате: 1186494148:AAHthiyN5-AdasrhO08w0U9JcIJgPrvXqO50

bot = Bot(token=API_BOT)
dp = Dispatcher(bot)

@dp.message_handler(commands=['start'])#Приветствие по первой команде /start
async def send_welcome_message(message: types.message):
    await message.answer('Привет, {0}!'.format(message.from_user.first_name)) #отправляем меседж с вашим именем


@dp.message_handler(content_types=['text']) #сообщение в чат
async def onPlayerText(msg: types.message):
    if msg.text.find('@') != -1:#пользователь ввел
        await msg.answer('{0}\nСимволов: {1}'.format(msg.text, len(msg.text) - 1))#бот ответил. Считаем кол-во символов без 1 '@'
    else:
        await msg.answer('Не понимаю что ты сказал 😢!') #если послал текст без '@'

if __name__ == '__main__':
    executor.start_polling(dp, skip_updates=True)
4. Далее:

Заходим в папку через командную строку (WIN + R)
Допустим я создал папку firstProject на рабочем столе, в командой строке я зайду в нее через команду cd:
cd C:\Users\unreal\Desktop\firstProject
Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!
(<< легкий способ скопировать путь)
И запускаем наш файл .py через команду


python bot.py


Заходим в Telegram и находим нашего бота по username, что указал в botfather

Итог:
Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!


Вот вам представлен код в ~25 строк который будет считать вам количество символов

Автор: unreal.
 
Последнее редактирование:

[FARADAY]

• Профик •
Регистрация
15 Окт 2015
Сообщения
1,380
Лучшие ответы
41
Реакции
804
Адрес
Ростов-на-Дону
  • Помощник
  • OLD
  • Победитель
  • Писатель
2 вариант, с окологотовым кодом формата.
Убраны проверки на @, теперь отправив текст -> получаем шаблон.
Подсчитает количество символов + удалит %s %d %f %i и создаст шаблон fomat`a

Пример:


Python:
import logging
from aiogram import Bot, Dispatcher, executor, types

TOKEN_BOT = '1186494248:AAHthiyN5-A6ZrhO08w0U9JcIJgPrvXqO50' #API взятый у botfather

STRING_FORMATTED = '\
Ваш текст: {0}\n\n\
Количество символов:   {1}\n\n\
new string[{1} /*+ константы*/];\n\n\
format(string, sizeof string,  "{0}"\n\
, /*переменные,массивы*/);';

bot = Bot(token=TOKEN_BOT)
dp = Dispatcher(bot)

@dp.message_handler(commands=['start'])#Приветствие по первой команде /start
async def send_welcome_message(message: types.message):
        await message.answer('Привет, {0}!'.format(message.from_user.first_name)) #отправляем меседж с вашим именем


@dp.message_handler(content_types=['text']) #сообщения в чат
async def onPlayerText(msg: types.message):
        strlen = msg.text.replace('%d','').replace('%s','').replace('%f','').replace('%i','')#убирает автоматически 2 символа
        await msg.answer(STRING_FORMATTED.format(msg.text, len(strlen) + 1)) #бот ответил.

if __name__ == '__main__':
    executor.start_polling(dp, skip_updates=True)
 

Вложения

Последнее редактирование:

Icy Narco

Участник форума
Пользователь
Регистрация
14 Май 2018
Сообщения
393
Лучшие ответы
0
Реакции
27
Веб-сайт
vk.com

Waii

• Зарегистрированный •
Регистрация
13 Июл 2020
Сообщения
8
Лучшие ответы
0
Реакции
0

20th century

Участник форума
- V I P -
Регистрация
10 Авг 2020
Сообщения
403
Лучшие ответы
30
Реакции
156
Адрес
St. Petersburg
  • V.I.P
Если где-то одним кликом запускать с рабочего стола, то очень полезная штука, способная заменить павно кит или текст.ру.
 

whale

/proger/
Регистрация
20 Сен 2013
Сообщения
1,111
Лучшие ответы
0
Реакции
411
  • OLD
  • Pawn-разработчик
Если где-то одним кликом запускать с рабочего стола, то очень полезная штука, способная заменить павно кит или текст.ру.
Достаточно просто адекватный редактор установить, который при выделении текста отображает количество символов :)
 

[FARADAY]

• Профик •
Регистрация
15 Окт 2015
Сообщения
1,380
Лучшие ответы
41
Реакции
804
Адрес
Ростов-на-Дону
  • Помощник
  • OLD
  • Победитель
  • Писатель
Тут демонстрация того, что писать ботов для телеграмма не составляет труда, уж тем более на python.
Бот сделан тематически под форум.
 

20th century

Участник форума
- V I P -
Регистрация
10 Авг 2020
Сообщения
403
Лучшие ответы
30
Реакции
156
Адрес
St. Petersburg
  • V.I.P
Достаточно просто адекватный редактор установить, который при выделении текста отображает количество символов :)
Нотпад достаточно адекватный редактор? Есть у него такая функция? От саблайма выворачивает аж, противный он. До этого павно кит пользовался всегда.
 

whale

/proger/
Регистрация
20 Сен 2013
Сообщения
1,111
Лучшие ответы
0
Реакции
411
  • OLD
  • Pawn-разработчик
Нотпад достаточно адекватный редактор? Есть у него такая функция? От саблайма выворачивает аж, противный он. До этого павно кит пользовался всегда.
А с каких это пор в notepad нет такой функции? 😦
Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!
 

20th century

Участник форума
- V I P -
Регистрация
10 Авг 2020
Сообщения
403
Лучшие ответы
30
Реакции
156
Адрес
St. Petersburg
  • V.I.P
А с каких это пор в notepad нет такой функции? 😦
Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!
Оказывается я в настройках при первой настройке выключил чекбокс строки состояния, не задумывался даже о ней.
 

sampdigit

Интересующийся
Пользователь
Регистрация
7 Дек 2020
Сообщения
22
Лучшие ответы
0
Реакции
0
полезно
 
shape1
shape2
shape3
shape4
shape7
shape8
Сверху Снизу