Telegram Bot - Отправить информационное сообщение

Я хотел использовать ординалы для моего проекта и после нескольких прототипов, я думаю, что этот метод, хотя и не малый, будет работать для любого положительного целого числа, да любое целое число.

Он работает, определяя, выше или ниже 20, если число ниже 20, оно превратит int 1 в строку 1, 2, 2; 3, 3; а остальные будут добавлены к ней.

Для чисел более 20 он будет принимать последние и секунды до последних цифр, которые я назвал десятками и единицами соответственно, и проверим их, чтобы увидеть, что добавить к числу.

Это, кстати, в python, поэтому я не уверен, что другие языки смогут найти последнюю или вторую последнюю цифру на строке, если они это сделают, она должна легко транслироваться.

def o(numb):
    if numb < 20: #determining suffix for < 20
        if numb == 1: 
            suffix = 'st'
        elif numb == 2:
            suffix = 'nd'
        elif numb == 3:
            suffix = 'rd'
        else:
            suffix = 'th'  
    else:   #determining suffix for > 20
        tens = str(numb)
        tens = tens[-2]
        unit = str(numb)
        unit = unit[-1]
        if tens == "1":
           suffix = "th"
        else:
            if unit == "1": 
                suffix = 'st'
            elif unit == "2":
                suffix = 'nd'
            elif unit == "3":
                suffix = 'rd'
            else:
                suffix = 'th'
    return str(numb)+ suffix

Я назвал функцию «o» для удобства использования и может быть вызван путем импорта имени файла, которое я назвал «порядковым», по порядку импорта, а затем по порядку. (номер).

Дайте мне знать, что вы думаете: D

2
задан Fuzzybear 13 July 2018 в 10:23
поделиться

3 ответа

Этот API может помочь вам получить деталь сообщения: https://api.telegram.org/TOKENBOT/getUpdates.

0
ответ дан Jerson Jimenez 17 August 2018 в 13:14
поделиться

То, что вы хотите сделать, может быть выполнено с помощью метода answerCallbackQuery.

Но прежде всего вам нужно создать CallbackQuery с помощью InlineKeyboardMarkup для создания встроенных клавиатур, вы можете выполнить шаги в этой ссылке.

После создания запроса обратного вызова вы должны ответить на него, используя один из следующих кодов:

if (update.CallbackQuery.Data == "CQ1")
{
 await Bot.AnswerCallbackQueryAsync(update.CallbackQuery.Id,"Text",true,null, 0);
}

Таким образом, сообщение будет выглядеть как окно сообщения и будет исчезают после того, как пользователь нажимает OK. Но если вы воспользуетесь приведенным ниже кодом, сообщение отобразится и исчезнет автоматически через несколько секунд.

else if (update.CallbackQuery.Data == "CQ2")
{
 await Bot.AnswerCallbackQueryAsync(update.CallbackQuery.Id, "Text", false,null, 30);
}

Кстати, сообщения, которые отображаются в разы, например, добавление пользователя в группа - служебные сообщения, а тезисы сообщений могут быть отправлены только сервером телеграммы.

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

0
ответ дан Naser.Sadeghi 17 August 2018 в 13:14
поделиться
0
ответ дан Ivan Vinogradov 6 September 2018 в 09:22
поделиться
Другие вопросы по тегам:

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