在函数中sendRassInLs
我设置了 state linksForRas
。为什么当用户进入状态linksForRas
并发送消息时,该函数gotLinksForRass
应该捕获该状态linksForRas
并发送消息消息已收到!,但它要么捕获,要么不捕获。为什么是这样?
async def sendRassInLs(callback: CallbackQuery, state: FSMContext):
await state.set_state(Rass.linksForRas)
await callback.message.edit_text('<b>Введите сообщение:</b>', reply_markup=kb.BackToRass, parse_mode='html')
@router.message(Rass.linksForRas)
async def gotLinksForRass(message: Message, state: FSMContext):
await state.update_data(linksForRas=message.text)
await message.delete()
await message.answer("Сообщение получено!: ")
await state.set_state(Rass.msgForRas)
@router.message(Rass.msgForRas)
async def send_msg_in_ls(message: Message, state: FSMContext):
await state.update_data(msgForRas=message.text)
user_id = message.from_user.id
token = await get_token_from_database(user_id)
data = await state.get_data()
accsForRass = data["linksForRas"]
msg = data["linksForRas"]
остальной код...
健康)状况:
class Rass(StatesGroup):
linksForRas = State()
msgForRas = State()
为什么它总是在日志中写给我:
ERROR:aiogram.dispatcher:Failed to fetch updates - TelegramConflictError: Telegram server says - Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
WARNING:aiogram.dispatcher:Sleep for 3.471689 seconds and try again... (tryings = 4, bot id = 7024637563)
您有两个机器人在一个令牌上运行,这就是为什么您总是在日志中看到这样的错误,也许这就是状态未被捕获的原因,因为“旧”代码现在正在运行(其中还没有状态),并且您正在尝试推出“新”产品。
Telegram 服务器说 - 冲突:被其他 getUpdates 请求终止;确保只有一个机器人实例正在运行
在 Linux 上,我在命令行输入以下命令:
查看进程标识符(PID)
ps -aux | grep <ИМЯ_СКРИПТА>
并输入命令杀死这个进程
kill -9 <PID>