Telegram 机器人无法发送直接消息
Telegram bot can't send direct messages
我正在使用 pytelegrambotapi
创建 Telegram 机器人。但是当我测试代码时,我的 Telegram Bot 总是回复引用我的输入 like this,我不希望它引用我的输入消息而是直接发送消息。
另外,如何仅使用简单的 Hi
或 Hello
而不是 /hi
或 /hello
.
来获得回复
我的代码:
import telebot
import time
bot_token = ''
bot= telebot.TeleBot(token=bot_token)
@bot.message_handler(commands=['start'])
def send_welcome(message):
bot.reply_to(message, 'Hi')
@bot.message_handler(commands=['help'])
def send_welcome(message):
bot.reply_to(message, 'Read my description')
while True:
try:
bot.polling()
except Exception:
time.sleep(10)
如果我理解正确的话:
cid = message.chat.id
bot.send_message(cid, "你好")
I don't want it to quote my input message but send the message directly.
bot.reply_to
回复邮件本身。如果您希望发送单独的消息,请使用 bot.send_message
。您需要传递您希望向其发送消息的用户的 ID。您可以在 message.chat.id
上找到此 ID,这样您就可以将消息发送到同一个聊天室。
@bot.message_handler(commands=['help'])
def send_welcome(message):
# Reply to message
bot.reply_to(message, 'This is a reply')
# Send message to person
bot.send_message(message.chat.id, 'This is a seperate message')
Also how can I get replies by just using simple Hi or Hello not /hi or /hello.
而不是使用 message_handler
和 commands=['help']
您可以删除参数以捕获任何命令消息处理程序未捕获的每条消息。
上面实现的例子:
import telebot
bot_token = '12345'
bot = telebot.TeleBot(token=bot_token)
# Handle /help
@bot.message_handler(commands=['help'])
def send_welcome(message):
# Reply to message
bot.reply_to(message, 'This is a reply')
# Send message to person
bot.send_message(message.chat.id, 'This is a seperate message')
# Handle normal messages
@bot.message_handler()
def send_normal(message):
# Detect 'hi'
if message.text == 'hi':
bot.send_message(message.chat.id, 'Reply on hi')
# Detect 'help'
if message.text == 'help':
bot.send_message(message.chat.id, 'Reply on help')
bot.polling()
视觉效果:
我正在使用 pytelegrambotapi
创建 Telegram 机器人。但是当我测试代码时,我的 Telegram Bot 总是回复引用我的输入 like this,我不希望它引用我的输入消息而是直接发送消息。
另外,如何仅使用简单的 Hi
或 Hello
而不是 /hi
或 /hello
.
我的代码:
import telebot
import time
bot_token = ''
bot= telebot.TeleBot(token=bot_token)
@bot.message_handler(commands=['start'])
def send_welcome(message):
bot.reply_to(message, 'Hi')
@bot.message_handler(commands=['help'])
def send_welcome(message):
bot.reply_to(message, 'Read my description')
while True:
try:
bot.polling()
except Exception:
time.sleep(10)
如果我理解正确的话: cid = message.chat.id bot.send_message(cid, "你好")
I don't want it to quote my input message but send the message directly.
bot.reply_to
回复邮件本身。如果您希望发送单独的消息,请使用 bot.send_message
。您需要传递您希望向其发送消息的用户的 ID。您可以在 message.chat.id
上找到此 ID,这样您就可以将消息发送到同一个聊天室。
@bot.message_handler(commands=['help'])
def send_welcome(message):
# Reply to message
bot.reply_to(message, 'This is a reply')
# Send message to person
bot.send_message(message.chat.id, 'This is a seperate message')
Also how can I get replies by just using simple Hi or Hello not /hi or /hello.
而不是使用 message_handler
和 commands=['help']
您可以删除参数以捕获任何命令消息处理程序未捕获的每条消息。
上面实现的例子:
import telebot
bot_token = '12345'
bot = telebot.TeleBot(token=bot_token)
# Handle /help
@bot.message_handler(commands=['help'])
def send_welcome(message):
# Reply to message
bot.reply_to(message, 'This is a reply')
# Send message to person
bot.send_message(message.chat.id, 'This is a seperate message')
# Handle normal messages
@bot.message_handler()
def send_normal(message):
# Detect 'hi'
if message.text == 'hi':
bot.send_message(message.chat.id, 'Reply on hi')
# Detect 'help'
if message.text == 'help':
bot.send_message(message.chat.id, 'Reply on help')
bot.polling()
视觉效果: