types.Message):
people = message.text
people = people[:5]
list1.add(people)
#сообщение типа: ник=id
А потом вызвают всех пользователей,
@dp.message_handler(commands=['all'])
async def process_help_command(message: types.Message):
with open('peoples.txt', 'r') as f:
for people in f:
n = people.lower().split('\n')[0]
list1.add(n)
for z in list1:
q = z.lower().split('=')[0]
one = q
q = z.lower().split('=')[1]
two = q
await message.reply(f'<a href="tg://user?id={two}">{one}</a>',parse_mode="HTML")
Пользователи которых я добавил, не считаются вторым хендлером и не выводятся ссылкой?
.
Помогаем
Хорошо, господин
Скинь pastebin^ом или тип того, читать трабл с телефона
Ориг
А мог бы, как нормальный адекватный человек, скинуть на paste.aiogram.dev вместо этой хуиты
Код не большой, всего два хэндера. Плюс за него ты все равно писать не будешь
Я сделал так, а ты никак) сидишь жалуешься, что код плохо читабельный. Взял бы сам залил
А зачем я это буду делать? Помощь нужна не мне
И не мне) я лишь сделал читабельность чуть лучше
1) Зачем people[:5] срезать?( мб надо срезать [:-длинна_айди]?) 2) Ты уверен, что запись в txt происходит так как ты думаешь, где-то в другом месте(здесь этого нет)?
1) -5 потому что, при команде /add ник/айди, мне нужно убрать: слеш,add и пробел 2) В консоли всё работает
Юзер пишет просто /add, твой бот крашится
Тогда ты не с той стороны режешь /add azxc=568 [:5] /add a
Да вообще слайсить не надо
А как избавиться от команды и оставить чистое сообщение?
Эм, ты что слайсом пытаешься получить строковую обработку?! Занятно. Это делают не так. Почитай про re, если нет других способов получить желаемое
не надо регулярки, блин
Ну в данном случае это лучше, чем срез) а так с тобой полностью согласен. Эту инфу можно получить иначе
Нужно убрать /add
Где я написал что мне нужно вытащить саму команду?
from aiogram.dispatcher.filters.builtin import Command @dp.message_handler(Command(commands=["add"])) async def send_welcome(message: types.Message, command: Command.CommandObj): print(f"{command.args=}") await message.answer("Your text") В command.args будет то, что после команды /add
async def send_welcome(message: types.Message, command: Command.CommandObj): NameError: name 'Command' is not defined может я дурак и забыл что-то импортнуть?
ты все же не использовал конкретно get_full_command(), но спасибо
Зачем мне get_full_command(), если и так всё можно достать?
меньше кода, как минимум
Меньше кода как раз с моим вариантом, тебе не нужно лишний вызов делать, всё уже лежит в аргументах хэндлера
Нет, это на 2.х В тройке почти так же, но есть минимальные различия
Обсуждают сегодня