Задать вопрос
@galaxy3141

Здравствуйте такая ситуация, человек у которого есть имя пользователя при нажатии на кнопку /start выходит сообщение и кнопка.?

человек у которого есть имя пользователя при нажатии на кнопку /start выходит сообщение и кнопка.60942e5f2aed9614444905.png а у кого нет username выходит только сообщение без кнопки
@bot.message_handler(content_types=["text"])
def message_send(message):
	if '/start' == message.text:
		if message.chat.username:
			if message.chat.id in in_admin: in_admin.remove(message.chat.id)
			if message.chat.id == config.admin_id and dop.it_first(message.chat.id) is True: in_admin.append(message.chat.id)
			elif dop.it_first(message.chat.id) is True and message.chat.id not in dop.get_adminlist():
				bot.send_message(message.chat.id, 'Бот ещё не готов к работе!\nЕсли вы являетесь его администратором, то войдите из под аккаунту, id которого указали при запуске бота и подготовьте его к работе!')
			elif dop.check_message('start') is True:
				key = telebot.types.InlineKeyboardMarkup()
				key.add(telebot.types.InlineKeyboardButton(text='Перейти к каталогу товаров', callback_data='Перейти к каталогу товаров'))
				with shelve.open(files.bot_message_bd) as bd: start_message = bd['start']
				start_message = start_message.replace('name', message.from_user.first_name)
				bot.send_message(message.chat.id, start_message, reply_markup=key)	
			elif dop.check_message('start') is False and message.chat.id in dop.get_adminlist():
				bot.send_message(message.chat.id, 'Приветствие ещё не добавлено!\nЧтобы его добавить, перейдите в админку по команде /adm и *настройте ответы бота*', parse_mode='Markdown')

			dop.user_loger(chat_id=message.chat.id) #логгирование юзеровs
		elif not message.chat.username:
			with shelve.open(files.bot_message_bd) as bd: start_message = bd['userfalse']
			start_message = start_message.replace('uname', message.from_user.first_name)
			bot.send_message(message.chat.id, start_message, parse_mode='Markdown')


			dop.user_loger(chat_id=message.chat.id) #логгирование юзеровs
		elif not message.chat.username:
			with shelve.open(files.bot_message_bd) as bd: start_message = bd['userfalse']
			start_message = start_message.replace('uname', message.from_user.first_name)
			bot.send_message(message.chat.id, start_message, parse_mode='Markdown')
  • Вопрос задан
  • 111 просмотров
Подписаться 1 Простой 2 комментария
Пригласить эксперта
Ответы на вопрос 1
Jourloy
@Jourloy
NodeJS разработчик
  1. У вас кусок кода дублируется. Возможно вы, конечно, вставили так
  2. 4 строка содержит if message.chat.username: где четко сообщается, что если человек имеет username, то вывести ему ответ с кнопкой. Нужно либо убирать условие, либо его менять
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы