Статья Telegram бот для начинающих #1

cuppy

Активный
Сообщения
117
Реакции
37
Опана всем привет 👋 : )

Решил черкануть вам статейку про создание телеграм ботов с 0.

Что будет уметь наш бот?

Бот будет отвечать приветствием на команду '/start' и выводить время при вводе команды '/time'.


Какие библиотеки мы будем использовать?

Aiogram -
Библиотека для работы с ботом.
Datetime - С помощью неё мы узнаем время.

Начнем


Создаем папку с нашим проектом.

Добавляем туда файл main.py.

Импортируем библиотеки, я обычно заморачиваюсь и создаю папку 'utils' где храняться все второстепенные файлы, но новичкам советую не мудрить и импортировать все в main.

imports.py:
Python:
from aiogram import Bot, Dispatcher, executor, types
import datetime
from utils.token import *

Далее добавляем файл 'token.py' в котором будет храниться токен нашего бота.

token.py:
Python:
TOKEN = ""

Токен бота можно получить создав его в "

Для просмотра скрытого содержимого вы должны авторизироваться или зарегистрироваться

" (no ad)

Файлы проекта:

main.py

utils -> import.py, token.py.


Перейдем в main.py, импортируем туда наши импорты:

main.py:
Python:
from utils.imports import *

Создаем бота, добавляем в него токен, а также диспетчер.

main.py:
Python:
from utils.imports import *

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


Создаем хендлер на команду '/start'

main.py:
Python:
from utils.imports import *

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

@dp.message_handler(commands=['start'])
async def start (message: types.Message):
    await bot.send_message(message.from_user.id, "Приветствую тебя в боте, forum -> https://anonymcheats.ru/")

Добавим конструкцию "if __name__ == '__main__' "

main.py:
Python:
from utils.imports import *

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

@dp.message_handler(commands=['start'])
async def start (message: types.Message):
    await bot.send_message(message.from_user.id, "Приветствую тебя в боте, forum -> https://anonymcheats.ru/")

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

Проверяем...

И о чудо бот отвечает нам сообщением.


Теперь надо реализовать получение и вывод времени:

Создадим функцию 'get_time', в которой будем получать время в перемнную 'time':

main.py:
Python:
def get_time():
    global time
 
    time = datetime.datetime.now()

Далее сделаем хендлер на команду /time:


main.py
:
Python:
@dp.message_handler(commands=['time'])
async def time (message: types.Message):
    get_time()
    str_time = str(time)
    await bot.send_message(message.from_user.id, f"Сейчас: {str_time}, forum -> https://anonymcheats.ru/")

Немного проясьню, сначала мы вызываем функцию 'get_time', далее после того как в нашу переменную сохранилось значение времени переобразуем ее в str(строку), дабы мы смогли вывести это в телеграмме.

Проверяем:


FULL_CODE-main.py:
Python:
from utils.imports import *

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

@dp.message_handler(commands=['start'])
async def start (message: types.Message):
    await bot.send_message(message.from_user.id, "Приветствую тебя в боте, forum -> https://anonymcheats.ru/")



def get_time():
    global time
 
    time = datetime.datetime.now()


@dp.message_handler(commands=['time'])
async def time (message: types.Message):
    get_time()
    str_time = str(time)
    await bot.send_message(message.from_user.id, f"Сейчас: {str_time}, forum -> https://anonymcheats.ru/")


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


src ->

Для просмотра скрытого содержимого вы должны авторизироваться или зарегистрироваться




Вот и все, огромное спасибо если прочитал статью, я старался).
 
Последнее редактирование:

Darwin

Команда форума
Администратор
Сообщения
955
Реакции
519
Полезная статья
 

Кто

Исследователь
Сообщения
25
Реакции
2
Опана всем привет 👋 : )

Решил черкануть вам статейку про создание телеграм ботов с 0.

Что будет уметь наш бот?

Бот будет отвечать приветствием на команду '/start' и выводить время при вводе команды '/time'.


Какие библиотеки мы будем использовать?

Aiogram -
Библиотека для работы с ботом.
Datetime - С помощью неё мы узнаем время.

Начнем


Создаем папку с нашим проектом.

Добавляем туда файл main.py.

Импортируем библиотеки, я обычно заморачиваюсь и создаю папку 'utils' где храняться все второстепенные файлы, но новичкам советую не мудрить и импортировать все в main.

imports.py:
Python:
from aiogram import Bot, Dispatcher, executor, types
import datetime
from utils.token import *

Далее добавляем файл 'token.py' в котором будет храниться токен нашего бота.

token.py:
Python:
TOKEN = ""

Токен бота можно получить создав его в "

Для просмотра скрытого содержимого вы должны авторизироваться или зарегистрироваться

" (no ad)

Файлы проекта:

main.py

utils -> import.py, token.py.


Перейдем в main.py, импортируем туда наши импорты:

main.py:
Python:
from utils.imports import *

Создаем бота, добавляем в него токен, а также диспетчер.

main.py:
Python:
from utils.imports import *

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


Создаем хендлер на команду '/start'

main.py:
Python:
from utils.imports import *

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

@dp.message_handler(commands=['start'])
async def start (message: types.Message):
    await bot.send_message(message.from_user.id, "Приветствую тебя в боте, forum -> https://anonymcheats.ru/")

Добавим конструкцию "if __name__ == '__main__' "

main.py:
Python:
from utils.imports import *

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

@dp.message_handler(commands=['start'])
async def start (message: types.Message):
    await bot.send_message(message.from_user.id, "Приветствую тебя в боте, forum -> https://anonymcheats.ru/")

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

Проверяем...

И о чудо бот отвечает нам сообщением.


Теперь надо реализовать получение и вывод времени:

Создадим функцию 'get_time', в которой будем получать время в перемнную 'time':

main.py:
Python:
def get_time():
    global time

    time = datetime.datetime.now()

Далее сделаем хендлер на команду /time:


main.py
:
Python:
@dp.message_handler(commands=['time'])
async def time (message: types.Message):
    get_time()
    str_time = str(time)
    await bot.send_message(message.from_user.id, f"Сейчас: {str_time}, forum -> https://anonymcheats.ru/")

Немного проясьню, сначала мы вызываем функцию 'get_time', далее после того как в нашу переменную сохранилось значение времени переобразуем ее в str(строку), дабы мы смогли вывести это в телеграмме.

Проверяем:


FULL_CODE-main.py:
Python:
from utils.imports import *

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

@dp.message_handler(commands=['start'])
async def start (message: types.Message):
    await bot.send_message(message.from_user.id, "Приветствую тебя в боте, forum -> https://anonymcheats.ru/")



def get_time():
    global time

    time = datetime.datetime.now()


@dp.message_handler(commands=['time'])
async def time (message: types.Message):
    get_time()
    str_time = str(time)
    await bot.send_message(message.from_user.id, f"Сейчас: {str_time}, forum -> https://anonymcheats.ru/")


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


src ->

Для просмотра скрытого содержимого вы должны авторизироваться или зарегистрироваться




Вот и все, огромное спасибо если прочитал статью, я старался).
Спасибо, полезно
 

Scum

Исследователь
Сообщения
26
Реакции
0
Спасибо огромное
 
Верх Низ