【问题标题】:Telethon text message new lineTelethon 短信换行
【发布时间】:2021-11-01 22:00:54
【问题描述】:

我正在使用 Telethon python3 库,但我有点卡在这个问题上:

client = TelegramClient(session, api_id, api_hash).start()
client.send_message(recipient, string_message)

我尝试将消息拆分为多行,但我找不到应该使用什么字符(或字符组合)。 (例如 **text** 将生成 text__text__ 将生成 text 等)

显然 \n 不起作用。我发现了一些关于在string_message 中插入chr(10) 作为新行标记的想法,但我没有成功。

【问题讨论】:

  • \n\n? \n 是做什么的? (你有引用错误吗)
  • 其实我猜这更像是对client.send_message(str(sys.argv[1]), sys.argv[2]) 中作为参数传递的字符串的python 解释。如果我直接在代码中使用硬编码字符串,如client.send_message(str(sys.argv[1]), "line1\nline2"),它将按预期发送消息,有两行。
  • 在阅读https://stackoverflow.com/questions/65005261/passing-a-string-with-spaces-and-newlines-as-command-line-argument-python 并在传递的字符串(sys.argv)中使用我自己的delimiter 并在运行时将代码中的分隔符替换为\n 之后,我得到了预期的结果。将变量传递给 Telethon 客户端。
  • @tethis 欢迎来到 StackOverflow。如果您解决了问题,您也可以回答自己的问题并将其标记为已接受。

标签: newline telethon


【解决方案1】:

(在这里回答我自己的问题): 在阅读 https://stackoverflow.com/questions/65005261/passing-a-string-with-spaces-and-newlines-as-command-line-argument-python 并在传递的字符串 (sys.argv) 中使用我自己的分隔符并在将变量传递给 Telethon 客户端之前在运行时将代码中的分隔符替换为 \n 之后,我得到了预期的结果。

  • 在我最初的问题中,我将消息作为参数传递给 python 脚本,并且在脚本内部 sys.argv 的内容再次被强制转换/转换为字符串 (str(sys.argv[x])),这很可能破坏了 \n格式化*

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多