main.py
985 B
Всем привет 🐍 🐍 🐍
Получить токен бота:
@botfather
Тут ты можешь запустить бота без установки Python:
https://replit.com/
Исходный код с видоса про Telegram бота, не забудь поменять токен бота на твой.
Получить токен бота:
@botfather
Тут ты можешь запустить бота без установки Python:
https://replit.com/
Исходный код с видоса про Telegram бота, не забудь поменять токен бота на твой.
import asyncio
import logging
from aiogram import Bot, Dispatcher
from aiogram.methods import DeleteWebhook
from aiogram import types, F, Router
from aiogram.types import Message
from aiogram.filters import Command
# Включаем логирование, чтобы не пропустить важные сообщения
logging.basicConfig(level=logging.INFO)
bot = Bot(token="token") # ⚠️ ИЗМЕНИТЬ ТОКЕН
dp = Dispatcher()
# Хэндлер на команду /start -----------
@dp.message(Command("start"))
async def cmd_start(message: types.Message):
await message.answer("Не забудь подписаться на канал @direcode")
# Запуск процесса поллинга новых апдейтов
async def main():
await bot(DeleteWebhook(drop_pending_updates=True))
await dp.start_polling(bot)
if __name__ == "__main__":
asyncio.run(main())
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
GM! Исходники TON price бота:
import asyncio
import logging
from aiogram import Bot, Dispatcher
from aiogram.methods import DeleteWebhook
from aiogram import types, F, Router
from aiogram.types import Message
from aiogram.filters import Command
import requests
from pprint import pprint
# Включаем логирование, чтобы не пропустить важные сообщения
logging.basicConfig(level=logging.INFO)
bot = Bot(token="token") # ⚠️ ИЗМЕНИТЬ ТОКЕН
dp = Dispatcher()
# Хэндлер на команду /start ---------------------------------------------------
@dp.message(Command("start"))
async def cmd_start(message: types.Message):
url = "https://tonapi.io/v2/rates?tokens=ton¤cies=usd"
response = requests.get(url)
data = response.json()
pprint(data)
price = round(data['rates']['TON']['prices']['USD'], 2)
text = f'<b>TON price:</b> {price}$'
await message.answer(text, parse_mode = 'HTML')
# Запуск процесса поллинга новых апдейтов
async def main():
await bot(DeleteWebhook(drop_pending_updates=True))
await dp.start_polling(bot)
if __name__ == "__main__":
asyncio.run(main())
👌1
GM! Исходник для бота с кнопками:
import asyncio
import logging
from aiogram import Bot, Dispatcher
from aiogram.methods import DeleteWebhook
from aiogram import types, F, Router
from aiogram.types import Message
from aiogram.filters import Command
import requests
from pprint import pprint
from aiogram.utils.keyboard import InlineKeyboardBuilder
# Включаем логирование, чтобы не пропустить важные сообщения
logging.basicConfig(level=logging.INFO)
bot = Bot(token="token") # ⚠️ ИЗМЕНИТЬ ТОКЕН
dp = Dispatcher()
# Хэндлер на команду /start ---------------------------------------------------
@dp.message(Command("start"))
async def cmd_start(message: types.Message):
photo_url = "https://www.economist.com/sites/default/files/images/2015/09/blogs/economist-explains/code2.png"
builder = InlineKeyboardBuilder()
button1 = types.InlineKeyboardButton(text = "Get TON price", callback_data = "price")
button2 = types.InlineKeyboardButton(text = "1", callback_data = "price")
button3 = types.InlineKeyboardButton(text = "2", callback_data = "price")
button4 = types.InlineKeyboardButton(text = "3", callback_data = "price")
button5 = types.InlineKeyboardButton(text = "4", callback_data = "price")
button6 = types.InlineKeyboardButton(text = "5", callback_data = "price")
builder.row(button1)
builder.row(button2, button3, button4)
builder.row(button5, button6)
start_text = "Welcome to @direcode"
await bot.send_photo(message.chat.id, photo = photo_url, caption = start_text, reply_markup = builder.as_markup())
@dp.callback_query(F.data == "price")
async def cmd_price(callback: types.CallbackQuery):
url = "https://tonapi.io/v2/rates?tokens=ton¤cies=usd"
response = requests.get(url)
data = response.json()
pprint(data)
price = round(data['rates']['TON']['prices']['USD'], 2)
text = f'<b>TON price:</b> {price}$'
await callback.message.answer(text, parse_mode = 'HTML')
# Запуск процесса поллинга новых апдейтов
async def main():
await bot(DeleteWebhook(drop_pending_updates=True))
await dp.start_polling(bot)
if __name__ == "__main__":
asyncio.run(main())