自动获取Pocket发送到Telegram
IPFS
分享到的每日资讯telegram频道:https://t.me/hellolinuxRss
排版正常看原文:自动获取Pocket发送到Telegram
准备工作
- 创建一个机器人
- 在 Teletram 中搜索用户
@BotFather - 发送命令
/newbot并为你的机器人指定name和username - 拿到 token 并记录在一个安全的地方,后边会用到。
- Use this token to access the HTTP API:
For a description of the Bot API, see this page: https://core.telegram.org/bots/api
- 创建一个频道并把这个bot添加进去作为管理员
- 并在频道中@bot 发送任何消息,再在浏览器中输入:https://api.telegram.org/bot{token}/getUpdates,获取对应chat_id,后面会用到,如果有多个,可以后面试下,确认哪个是自己需要的。
发送消息
curl测试
curl -s -X POST https://api.telegram.org/bot{token}/sendMessage -d chat_id={chatId} -d text="Hello World"
requests测试
import requests
token = "1876xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx2NhVRI" # 替换成你自己的token
chat_id = 130000006 # 替换成你自己的chat_id
r = requests.post(f'https://api.telegram.org/bot{token}/sendMessage', json={"chat_id": chat_id, "text": "【机器人】测试消息"})
print(r.json())
python-telegram-bot
https://docs.python-telegram-bot.org/en/stable
安装python库:pip install python-telegram-bot --upgrade
import telegram chat_id = '' token = '' bot = telegram.Bot(token) bot.send_message(chat_id=chat_id,text='hello world') bot.send_message( chat_id=chat_id, text='<a href="https://hellolinux.xyz/">hellolinux的个人博客</a>', parse_mode=telegram.ParseMode.HTML ) bot.send_message(chat_id=chat_id,text='[hellolinux的个人博客](https://hellolinux.xyz/)',parse_mode=telegram.ParseMode.MARKDOWN)
对话机器人
from telegram.ext.updater import Updater
from telegram.update import Update
from telegram.ext.callbackcontext import CallbackContext
from telegram.ext.commandhandler import CommandHandler
from telegram.ext.messagehandler import MessageHandler
from telegram.ext.filters import Filters
updater = Updater("your_own_API_Token got from BotFather",
use_context=True)
def start(update: Update, context: CallbackContext):
update.message.reply_text(
"Hello sir, Welcome to the Bot.Please write\
/help to see the commands available.")
def help(update: Update, context: CallbackContext):
update.message.reply_text("""Available Commands :-
/youtube - To get the youtube URL
/linkedin - To get the LinkedIn profile URL
/gmail - To get gmail URL
/geeks - To get the GeeksforGeeks URL""")
def gmail_url(update: Update, context: CallbackContext):
update.message.reply_text(
"Your gmail link here (I am not\
giving mine one for security reasons)")
def youtube_url(update: Update, context: CallbackContext):
update.message.reply_text("Youtube Link =>\
https://www.youtube.com/")
def linkedIn_url(update: Update, context: CallbackContext):
update.message.reply_text(
"LinkedIn URL => \
https://www.linkedin.com/in/dwaipayan-bandyopadhyay-007a/")
def geeks_url(update: Update, context: CallbackContext):
update.message.reply_text(
"GeeksforGeeks URL => https://www.geeksforgeeks.org/")
def unknown(update: Update, context: CallbackContext):
update.message.reply_text(
"Sorry '%s' is not a valid command" % update.message.text)
def unknown_text(update: Update, context: CallbackContext):
update.message.reply_text(
"Sorry I can't recognize you , you said '%s'" % update.message.text)
updater.dispatcher.add_handler(CommandHandler('start', start))
updater.dispatcher.add_handler(CommandHandler('youtube', youtube_url))
updater.dispatcher.add_handler(CommandHandler('help', help))
updater.dispatcher.add_handler(CommandHandler('linkedin', linkedIn_url))
updater.dispatcher.add_handler(CommandHandler('gmail', gmail_url))
updater.dispatcher.add_handler(CommandHandler('geeks', geeks_url))
updater.dispatcher.add_handler(MessageHandler(Filters.text, unknown))
updater.dispatcher.add_handler(MessageHandler(
Filters.command, unknown)) # Filters out unknown commands
# Filters out unknown messages.
updater.dispatcher.add_handler(MessageHandler(Filters.text, unknown_text))
updater.start_polling()
pyTelegramBotAPI库
https://github.com/eternnoir/pyTelegramBotAPI
参考
https://core.telegram.org/bots/api#sendmessage
https://docs.python-telegram-bot.org/en/stable/telegram.parsemode.html
喜欢我的作品吗?别忘了给予支持与赞赏,让我知道在创作的路上有你陪伴,一起延续这份热忱!
- 来自作者
- 相关推荐