ANTICHAT

ANTICHAT (https://forum.antichat.xyz/index.php)
-   Общие вопросы программирования (https://forum.antichat.xyz/forumdisplay.php?f=206)
-   -   Хз что тут происходит (https://forum.antichat.xyz/showthread.php?t=1516780)

P04Emu4Ka 23.07.2024 11:40

Python:





Код:

import
logging
from
telegram
import
ForceReply
,
Update
from
telegram
.
ext
import
Application
,
CommandHandler
,
ContextTypes
,
MessageHandler
,
filters
# Включаем логирование
logging
.
basicConfig
(
format
=
'%(asctime)s - %(name)s - %(levelname)s - %(message)s'
,
level
=
logging
.
INFO
)
logger
=
logging
.
getLogger
(
__name__
)
# Список эмодзи, которые нужно удалять
emojis_to_remove
=
[
'🏀'
,
'⚽'
,
'🎲'
,
'🎰'
]
def
delete_emojis
(
update
:
Update
,
context
:
ContextTypes
.
DEFAULT_TYPE
)
-
>
None
:
"""Удаляет сообщения с определенными эмодзи."""
if
any
(
emoji
in
update
.
message
.
text
for
emoji
in
emojis_to_remove
)
:
try
:
context
.
bot
.
delete_message
(
chat_id
=
update
.
message
.
chat_id
,
message_id
=
update
.
message
.
message_id
)
except
Exception
as
e
:
logger
.
error
(
f"Error deleting message:{e}"
)
def
main
(
)
:
"""Запускаем бота."""
# Вставьте сюда ваш токен
application
=
Application
.
builder
(
)
.
token
(
"лол"
)
.
build
(
)
dispatcher
=
Update
.
dispatcher
# Добавляем обработчик сообщений
dispatcher
.
add_handler
(
MessageHandler
(
Filters
.
text
&
~
Filters
.
command
,
delete_emojis
)
)
# Запускаем бота
updater
.
start_polling
(
)
updater
.
idle
(
)
if
__name__
==
'__main__'
:
main
(
)



Выдаёт ошибку:

Traceback (most recent call last):

File "/home/runner/--------------/main.py", line 37, in

main()

File "/home/runner/----------------/main.py", line 27, in main

dispatcher = Update.dispatcher

AttributeError: type object 'Update' has no attribute 'dispatcher'

chromiusj 23.07.2024 17:45

А в чем проблема использовать айограм? В репо есть пример бота

aiogram/examples/echo_bot.py at dev-3.x · aiogram/aiogram

aiogram is a modern and fully asynchronous framework for Telegram Bot API written in Python using asyncio - aiogram/aiogram

github.com


Dispatcher - aiogram 3.10.0 documentation

Макаров 11.08.2024 18:37

Ошибка указывает на отсутствие атрибута dispatcher у объекта Update.

Исходя из документации, функция main() должна выглядеть вот так:

main():





Код:

def
main
(
)
# Вставьте сюда ваш токен
application
=
Application
.
builder
(
)
.
token
(
"лол"
)
.
build
(
)
# Добавляем обработчик сообщений
application
.
add_handler
(
MessageHandler
(
Filters
.
text
&
~
Filters
.
command
,
delete_emojis
)
)
# Запускаем бота
application
.
run_polling
(
allowed_updates
=
Update
.
ALL_TYPES
)



руководствовался: https://docs.python-telegram-bot.org/en/v21.4/examples.echobot.html

Рекомендация: Читать документацию и выбирать современные библиотеки


Время: 00:35