@FeeFort

Написание сообщения на разных строках в discord.py. Возможно ли совместить discord.py и datetime?

Здравствуйте. Делаю бота для дискорда. Сам функционал работает, и меня всё удовлетворяет. Необходимо, чтобы он написал одно сообщение, но на разных строках. Также импортировал datetime, т.к. мне надо чтобы он писал на одной строке дату, а на другой время. В интернете нашёл вот этот метод написания одного сообщения на разных строках.
a=['''
Дата: datetime.datetime.today().strftime("%B %dth")
Время: datetime.datetime.today().strftime("%H:%M")
'''
]

Метод написания сообщения работает, но вот код, который должен показывать дату и время, не работает, а пишет его напрямую.
5fa04ff67d24e892329132.png
И ещё хотелось бы узнать: возможно ли сделать проверку даты и месяца в datetime через if/else? Допустим, выводит он в консоль 2 November, и на следующей строке (также в консоли) надпись Good. Если 1 November, надпись Not Good.
  • Вопрос задан
  • 407 просмотров
Решения вопроса 1
Самый простой вариант решения: Использовать f-строки. Это строки, в которых форматирование ({expr}) выполняется во время выполнения этой самой строки.

foo = "foo"
bar = 844
print(f"My foo is: {foo}, my bar is: {bar}")  # My foo is: foo, my bar is: 844


Впрочем, можно использовать и любое другое форматирование, например через .format(vars): https://docs.python.org/3/library/stdtypes.html#st...
foo = "foo"
bar = 844
print("My foo is: {foo}, my bar is: {bar}".format(foo=foo, bar=bar))  # My foo is: foo, my bar is: 844
print("My foo is: {foo}, my bar is: {bar}".format(**{"foo": foo, "bar": bar}))  # My foo is: foo, my bar is: 844
print("My foo is: {}, my bar is: {}".format(foo, bar))  # My foo is: foo, my bar is: 844
print("My bar is: {1}, my foo is: {0}".format(foo, bar))  # My bar is: 844, my foo is: foo
# etc...


В Python так же есть поддержка "printf"-форматирования, но она довольно таки функционально ограничена, и рекомендуется всё же использовать f-strings/.format
foo = "foo"
bar = 844
return "My foo is %s, my bar is %i" % (foo, bar)  # My foo is foo, my bar is 844
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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