@bybacapitan

Что не так с кодом?

Хочу создать телеграм бота который делает демотиваторы.
При создании столкнулся с проблемой.
File "C:\Users\a\Desktop\test\main.py", line 36, in text
    dem = Demotivator(f'{message.text}')
TypeError: Demotivator() takes no arguments

Вот весь код:
from simpledemotivators import Demotivator

from aiogram import Bot, types
from aiogram.dispatcher import Dispatcher
from aiogram.dispatcher import FSMContext
from aiogram.dispatcher.filters.state import State, StatesGroup
from aiogram.contrib.fsm_storage.memory import MemoryStorage
from aiogram.utils import executor

TOKEN = '5244362136:AAHcrhC42maCAHiRft_YFuzOikIVYsODObc'

storage=MemoryStorage()

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

class Demotivator(StatesGroup):
    photo = State()
    dem = State()



@dp.message_handler(commands=['start'], state=None)
async def start(message: types.Message):
    await Demotivator.photo.set()
    await message.reply('Отправь фото для демотиватора')

@dp.message_handler(content_types=['photo'], state=Demotivator.photo)
async def photo(message: types.Message, state: FSMContext):
    await message.photo[-1].download('123.png')
    await message.reply('Отправь текст для демотиватора')
    await Demotivator.next()

@dp.message_handler(content_types=['text'], state=Demotivator.dem)
async def text(message: types.Message, state: FSMContext):
    dem = Demotivator(f'{message.text}')
    dem.create('123.png', result_filename=f'{message.from_user.id}.png')
    photo = open(f'{message.from_user.id}.png', 'rb')
    await bot.send_photo(message.chat.id, photo)

    await state.finish()



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


Если просто запустить такой код:
from simpledemotivators import Demotivator

dem = Demotivator('Эй', 'что?')
dem.create('123.png', result_filename=f'1.png')

То все работает
  • Вопрос задан
  • 106 просмотров
Решения вопроса 1
@bacon
ну так ты переопределил Demotivator
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
29 сент. 2022, в 15:22
500 руб./за проект
29 сент. 2022, в 15:09
5000 руб./за проект
29 сент. 2022, в 14:49
1000 руб./в час