나는 인라인 봇으로 대문자를 쓸 수있는 간단한 스크립트를 작성했다.로그인 방법 선택된 인라인 결과 기사 - Python Telegram Bot
def inline_caps(bot, update): nick=update.inline_query.from_user.username query = update.inline_query.query try: if not query: return results = list() results.append(InlineQueryResultArticle(id=query.upper(),title="Formatta in maiuscolo", input_message_content=InputTextMessageContent(query.upper()))) bot.answerInlineQuery(update.inline_query.id, results) log.a((nick)+" ha formattato un testo") except Exception as err: log.e(err)
나는 친구가 만든 로거와 모든 로그, 당신은 그것을 here을 찾을 수 있습니다. 문제는 사용자가 대문자로 선택하지 않고 "@name_bot t"만 쓰는 경우에도 실제로 모든 것을 기록한다는 것입니다. 선택한 결과 만 기록하려면 어떻게합니까?
필요할 경우, 여기 내 수입은 다음과 같습니다
dp = updater.dispatcher
# Comandi vari:
dp.add_handler(CommandHandler("start", start))
dp.add_handler(CommandHandler("help", help))
dp.add_handler(CommandHandler("id", id))
dp.add_handler(CommandHandler("groupid", groupid))
# Quindi: dp.add_handler(CommandHandler("comando", funzione))
dp.add_handler(CommandHandler("info", info))
# Filtri vari
dp.add_handler(MessageHandler(Filters.text, reader))
dp.add_handler(MessageHandler(Filters.audio, ext_audio))
dp.add_handler(MessageHandler(Filters.photo, ext_photo))
# Funzionalità inline
inline_caps_handler = InlineQueryHandler(inline_caps)
result_handler = ChosenInlineResultHandler(say_hello)
dp.add_handler(inline_caps_handler)
dp.add_handler(result_handler)
어떻게해야합니까 :
from telegram.ext import Updater, Filters, CommandHandler, MessageHandler, InlineQueryHandler, ChosenInlineResultHandler from telegram import Chat, ParseMode, InlineQueryResultArticle, InputTextMessageContent import os, math, time, re, random from time import strftime from pprint import pprint import Logger as log from uuid import uuid4
그리고 여기 내 디스패처입니까?
하지만 선택한 인라인 결과 만 기록하고 싶습니다. 나는 인라인 피드백을 이미 활성화했으며 모든'inline_query'를 무시함으로써 무엇을 의미하는지 이해하지 못합니다. –
'inline_query'를 기록하지 말고'update.chosen_inline_result.query' 만 기록하십시오 – Sean
어떻게 할 수 있습니까? 모든 update.inline_query.query에 "selected_"라고 써야합니까? –