Форум программистов, компьютерный форум, киберфорум
Python: API, боты
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.76/55: Рейтинг темы: голосов - 55, средняя оценка - 4.76
0 / 0 / 0
Регистрация: 10.10.2020
Сообщений: 18
Telegram Bot

AttributeError: module 'aiogram.types.message' has no attribute 'from_user'. Библиотека aiogram. Как задать user_id в sc

22.12.2020, 00:09. Показов 11590. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
from aiogram import Bot, types
from aiogram.dispatcher import Dispatcher, FSMContext
from aiogram.utils import executor
from aiogram.dispatcher.filters.state import State, StatesGroup
from aiogram.contrib.fsm_storage.memory import MemoryStorage
from apscheduler.schedulers.asyncio import AsyncIOScheduler
 
from config import TOKEN
from parse_news import ParseNews
from sqlighter import SQLighter
import asyncio
 
bot = Bot(token=TOKEN, parse_mode=types.ParseMode.MARKDOWN)
storage = MemoryStorage()
dp = Dispatcher(bot, storage=storage)
scheduler = AsyncIOScheduler()
db = SQLighter('db.db')
 
pn = ParseNews
 
 
class Info(StatesGroup):
    login = State()
    password = State()
 
 
@dp.message_handler(commands=["start"])
async def welcome(message: types.Message):
    await message.answer('Увійдіть у свій кабінет на сайті nz.ua')
    await message.answer('Введіть свій логін')
    await Info.login.set()
 
 
@dp.message_handler(state=Info.login)
async def process_login(message: types.Message, state: FSMContext):
    await state.update_data(login=message.text)
    await message.answer("Введіть свій пароль")
    await Info.next()
 
 
@dp.message_handler(state=Info.password)
async def process_password(message: types.Message, state: FSMContext):
    await state.update_data(password=message.text)
    user_data = await state.get_data()
    if not db.subscriber_exists(message.from_user.id):
        db.add_user_info(message.from_user.id, user_data['login'], user_data['password'])
    else:
        db.update_user_info(user_data['login'], user_data['password'], message.from_user.id)
    await Info.next()
    await bot.send_message(message.from_user.id, pn.parse_news(pn, user_data['login'], user_data['password']))
    await state.finish()
 
 
@dp.message_handler(commands=['news'])
async def show_news(message: types.Message):
    await bot.send_message(message.from_user.id,
                           pn.parse_news(pn, db.get_login(message.from_user.id), db.get_password(message.from_user.id)))
    print(db.get_login(message.from_user.id), db.get_password(message.from_user.id))
 
 
async def check(message: types.message):
    while True:
        # await asyncio.sleep(wait_for)
 
        count = pn.check_new(pn, db.get_login(message.from_user.id), db.get_password(message.from_user.id))
        if count is not None:
            await dp.bot.send_message(message.from_user.id, f'Нових новин: {count}')
 
 
def schedule_jobs():
    scheduler.add_job(check, 'interval', seconds=20, args=(types.message,))
 
 
async def on_startup(dp):
    schedule_jobs()
 
 
if __name__ == "__main__":
    # dp.loop.create_task(scheduler(200))
    scheduler.start()
    executor.start_polling(dp, skip_updates=True, on_startup=on_startup)
ошибка:
Python
1
2
3
4
5
6
7
Job "check (trigger: interval[0:00:20], next run at: 2020-12-21 20:41:50 EET)" raised an exception
Traceback (most recent call last):
  File "C:\Users\admin\AppData\Local\Programs\Python\Python38-32\lib\site-packages\apscheduler\executors\base_py3.py", line 29, in run_coroutine_job
    retval = await job.func(*job.args, **job.kwargs)
  File "E:/main.py", line 75, in check
    count = pn.check_new(pn, db.get_login(message.from_user.id), db.get_password(message.from_user.id))
AttributeError: module 'aiogram.types.message' has no attribute 'from_user'
как отправить сообщение юзеру если невозможно получить юзер ид?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
22.12.2020, 00:09
Ответы с готовыми решениями:

AttributeError: module 'telebot' has no attribute 'types' как исправить?
import requests import threading from datetime import datetime, timedelta from telebot import TeleBot import telebot import os ...

Aiogram как получить информацию о пользователе через user_id
Доброго времени! Как можно получить через aiogram зная id пользователя его информацию, особенно nickname? Но если можно фото то буде...

Aiogram получение user_id из пересланного сообщения
Всем привет, использую aiogram, необходимо в чате получить id пользователя, чье сообщение было переслано. Например, в чате пересылают...

3
 Аватар для Valbort
33 / 21 / 5
Регистрация: 09.11.2015
Сообщений: 146
22.12.2020, 15:52
Попробуйте обернуть метод chek в декоратор @dp.message_handler
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
23.12.2020, 00:56
Цитата Сообщение от RSk141 Посмотреть сообщение
как отправить сообщение юзеру если невозможно получить юзер ид?
Какая твоя версия aiogram? from_user есть в новой версии, а в старых было просто from.

name from was renamed to from_user in due to from is an keyword in python
0
 Аватар для Valbort
33 / 21 / 5
Регистрация: 09.11.2015
Сообщений: 146
23.12.2020, 09:54
Я так аонял, в других методах это работает.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
23.12.2020, 09:54
Помогаю со студенческими работами здесь

Не могу изменить сообщение в aiogram (aiogram.utils.exceptions.BadRequest: Can't parse input media json object)
Эта функция должна менять фотографию, которая прикреплена к сообщению: @dp.callback_query_handler(text='SeeCatalog') async def...

почему когда активируешь aiogram, через python -m venv .venv после это не работает import aiogram выдаёт ошибку
PS C:\Users\Devis\Desktop\testedbot> & c:/Users/Devis/Desktop/testedbot/.venv/Scripts/Activate.ps1 & : Невозможно загрузить файл...

AttributeError: module 'markups' has no attribute 'restartkeyboard'
Есть 2 файла с кодом. Во втором файле markups.py прописаны все кнопки в боте. После запуска бота и отправки ему /start он присылает только...

AttributeError: module 'games' has no attribute 'ask_number'
выдает такую ошибку: AttributeError: module 'games' has no attribute 'ask_number' в чем тут ошибка? первый код, это код модуля,...

AttributeError: module 'pandas' has no attribute 'Siries'
Коллеги день добрый. Вот DataFrame Вот цель из DataFrame Цель в том, чтоб вытащить один столбец ГОРОД. После - каждую строку...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru