Skip to content

Instantly share code, notes, and snippets.

@ArtyomKozyrev8
Created November 4, 2023 18:07
Show Gist options
  • Save ArtyomKozyrev8/ef702ebcde4ce5da01c7291d454fa357 to your computer and use it in GitHub Desktop.
Save ArtyomKozyrev8/ef702ebcde4ce5da01c7291d454fa357 to your computer and use it in GitHub Desktop.
Very simple bot for Maxim - Drinking Bot!
import asyncio
import logging
from aiogram import Dispatcher, Bot, F
from aiogram.filters import Command
from aiogram.types import Message, CallbackQuery
from aiogram.utils.keyboard import InlineKeyboardBuilder
router = Dispatcher()
TOKEN = "" # Write your Token here!
@router.message(Command("drink"))
async def go_drinking(message: Message):
builder = InlineKeyboardBuilder()
builder.button(text="да", callback_data="бухать_да")
builder.button(text="нет", callback_data="бухать_нет")
await message.answer(text="Пойдем сегодня бухать?", reply_markup=builder.as_markup())
@router.callback_query(F.data == "бухать_нет")
async def go_drinking_no(callback: CallbackQuery):
builder = InlineKeyboardBuilder()
builder.button(text="да!", callback_data="бухать_да")
builder.button(text="нет!", callback_data="бухать_нет")
await callback.message.answer(text="Подумай еще раз! Пойдем сегодня бухать?!", reply_markup=builder.as_markup())
await callback.answer()
@router.callback_query(F.data == "бухать_да")
async def go_drinking_choices(callback: CallbackQuery):
builder = InlineKeyboardBuilder()
builder.button(text="пиво", callback_data="бухать_да_пиво")
builder.button(text="водка", callback_data="бухать_да_водка")
builder.button(text="вино", callback_data="бухать_да_винишко")
builder.adjust(2, 1)
await callback.message.answer(text="А что будем бухать?", reply_markup=builder.as_markup())
await callback.answer()
@router.callback_query(F.data == "бухать_да_пиво")
@router.callback_query(F.data == "бухать_да_водка")
@router.callback_query(F.data == "бухать_да_винишко")
async def go_drinking_beer(callback: CallbackQuery):
if callback.data == "бухать_да_пиво":
answer = "Ну что же, опять бухаем пиво!"
elif callback.data == "бухать_да_водка":
answer = "Водка! Кто-то прямо хочет нажраться!"
elif callback.data == "бухать_да_винишко":
answer = "Винишко! Нестандратный выбор!"
else:
answer = "Даже не знаю, что и сказать!"
await callback.message.answer(text=answer)
await callback.answer()
async def main():
await router.start_polling(Bot(token=TOKEN))
if __name__ == '__main__':
logging.basicConfig(format='%(asctime)s - %(message)s', level=logging.INFO)
asyncio.run((main()))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment