Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Python telebot проблема с date

Руслан Фалилеев Ученик (128), на голосовании 2 месяца назад
Мне нужно добавить время по мск когда было отправлено сообщение, вот код:
 import telebot 
import threading

bot = telebot.TeleBot('')

def read_messages():
@bot.message_handler(func=lambda message: True)
def handle_text(message):
user_message = message.text
user_id = message.from_user.id
print(f"сообщение от {message.from_user.first_name} (ID: {user_id}): {user_message}")
# Здесь вы можете выполнить дополнительные действия с полученным сообщением и ID пользователя

bot.polling(none_stop=True)

def send_messages():
while True:
user_id = input("Введите ID : ")
user_input = input("Введите сообщение : ")
bot.send_message(user_id, user_input)

if __name__ == "__main__":
threading.Thread(target=read_messages).start()
threading.Thread(target=send_messages).start()
Голосование за лучший ответ
- Профи (765) 3 месяца назад
import telebot
import threading
import datetime
import pytz

bot = telebot.TeleBot('YOUR_BOT_TOKEN')

def read_messages():
@bot.message_handler(func=lambda message: True)
def handle_text(message):
user_message = message.text
user_id = message.from_ user.id
msk_time = datetime.datetime.now (pytz.timezone('Europe/Moscow'))
print(f"сообщение от {message.from_user.first_name} (ID: {user_id}) в {msk_time}: {user_message}")
# Здесь вы можете выполнить дополнительные действия с полученным сообщением и ID пользователя

bot.polling(none_stop=True)

def send_messages():
while True:
user_id = input("Введите ID : ")
user_input = input("Введите сообщение : ")
bot.send_message(user_id, user_input)

if __name__ == "__main__":
threading.Thread(target=read_messages).start()
threading.Thread(target=send_messages).start()
Руслан ФалилеевУченик (128) 3 месяца назад
Он не правильный, он узнает сколько сейчас время, а пользователь мог отправить сообщение перед запуска Бота.
damn Просветленный (47228) 3 месяца назад
 import telebot 
import threading
import datetime
import pytz

bot = telebot.TeleBot('')

def read_messages():
@bot.message_handler(func=lambda message: True)
def handle_text(message):
user_message = message.text
user_id = message.from_user.id
message_time_utc = message.date
message_datetime_utc = datetime.datetime.fromtimestamp(message_time_utc)
message_datetime_utc = message_datetime_utc.replace(tzinfo=datetime.timezone.utc)
moscow_tz = pytz.timezone('Europe/Moscow')
message_datetime_moscow = message_datetime_utc.astimezone(moscow_tz)
formatted_time_moscow = message_datetime_moscow.strftime('%Y-%m-%d %H:%M:%S')
print(f"Сообщение от {message.from_user.first_name} (ID: {user_id}): {user_message} (отправлено: {formatted_time_moscow} MSK)")

bot.polling(none_stop=True)

def send_messages():
while True:
user_id = input("Введите ID : ")
user_input = input("Введите сообщение : ")
bot.send_message(user_id, user_input)

if __name__ == "__main__":
threading.Thread(target=read_messages).start()
threading.Thread(target=send_messages).start()
Руслан ФалилеевУченик (128) 3 месяца назад
Да прочитай прошлый
damn Просветленный (47228) а до запуска бота ты как узнаешь время отправки сообщения пользователя?
Похожие вопросы