回复消息
This commit is contained in:
+3
-1
@@ -5,4 +5,6 @@
|
|||||||
/__pycache
|
/__pycache
|
||||||
/tmp_video
|
/tmp_video
|
||||||
/tmp_audio
|
/tmp_audio
|
||||||
/__pycache__
|
/__pycache__
|
||||||
|
/venv
|
||||||
|
/db.sqlite
|
||||||
@@ -13,16 +13,20 @@ import logging
|
|||||||
import sys
|
import sys
|
||||||
import time
|
import time
|
||||||
import telebot
|
import telebot
|
||||||
|
from telebot import apihelper
|
||||||
import requests
|
import requests
|
||||||
import json
|
import json
|
||||||
import html2text
|
import html2text
|
||||||
|
import sqlite3
|
||||||
|
|
||||||
'''
|
'''
|
||||||
Basic setup
|
Basic setup
|
||||||
'''
|
'''
|
||||||
|
|
||||||
logging.basicConfig(format='%(asctime)s: %(levelname)s %(name)s | %(message)s',
|
logging.basicConfig(format='%(asctime)s: %(levelname)s %(name)s | %(message)s',
|
||||||
level=logging.INFO)
|
level=logging.INFO)
|
||||||
logger = telebot.logger.setLevel(logging.INFO)
|
logger = telebot.logger.setLevel(logging.DEBUG)
|
||||||
|
|
||||||
bots = {}
|
bots = {}
|
||||||
# check if credentials exist, create if not
|
# check if credentials exist, create if not
|
||||||
if not os.path.isfile("config.conf"):
|
if not os.path.isfile("config.conf"):
|
||||||
@@ -55,6 +59,19 @@ if not os.path.isfile("config.conf"):
|
|||||||
f.write(misskey_visibility)
|
f.write(misskey_visibility)
|
||||||
print("配置文件已生成,请重新运行")
|
print("配置文件已生成,请重新运行")
|
||||||
exit(0)
|
exit(0)
|
||||||
|
if not os.path.isfile("db.sqlite"):
|
||||||
|
# 创建数据库
|
||||||
|
logging.info("创建数据库")
|
||||||
|
conn = sqlite3.connect('db.sqlite')
|
||||||
|
c = conn.cursor()
|
||||||
|
c.execute('''CREATE TABLE IF NOT EXISTS `messages` (
|
||||||
|
`id` INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
|
||||||
|
`channel_id` INTEGER NOT NULL,
|
||||||
|
`message_id` INTEGER NOT NULL,
|
||||||
|
`misskeynote_id` TEXT NOT NULL
|
||||||
|
);''')
|
||||||
|
conn.commit()
|
||||||
|
conn.close()
|
||||||
|
|
||||||
#判断启动参数
|
#判断启动参数
|
||||||
if len(sys.argv) > 1:
|
if len(sys.argv) > 1:
|
||||||
@@ -94,7 +111,8 @@ else:
|
|||||||
|
|
||||||
# Telegram
|
# Telegram
|
||||||
# parse mode can be either HTML or MARKDOWN
|
# parse mode can be either HTML or MARKDOWN
|
||||||
bot = telebot.TeleBot(telegram_token, parse_mode="MARKDOWN")
|
bot = telebot.TeleBot(telegram_token, parse_mode="MARKDOWN", )
|
||||||
|
#apihelper.proxy = {'http':'http://127.0.0.1:2080'}
|
||||||
|
|
||||||
|
|
||||||
'''
|
'''
|
||||||
@@ -184,11 +202,26 @@ def uploadfile(caption,filename, mimetype, id):
|
|||||||
def get_text(message):
|
def get_text(message):
|
||||||
if message.chat.id in bots:
|
if message.chat.id in bots:
|
||||||
logging.info(f"New {message.content_type}")
|
logging.info(f"New {message.content_type}")
|
||||||
|
conn = sqlite3.connect('db.sqlite')
|
||||||
status_text = footer_text(message)
|
status_text = footer_text(message)
|
||||||
rjson = {'text': status_text, "localOnly": False, "visibility": bots[message.chat.id][2], "viaMobile": False,
|
rjson = {'text': status_text, "localOnly": False, "visibility": bots[message.chat.id][2], "viaMobile": False,
|
||||||
"i": bots[message.chat.id][1]}
|
"i": bots[message.chat.id][1]}
|
||||||
notepost = requests.post(bots[message.chat.id][0] + "/api/notes/create", json=rjson)
|
if message.reply_to_message != None:
|
||||||
logging.info(f"发布帖子成功")
|
c = conn.cursor()
|
||||||
|
c.execute("SELECT * FROM messages WHERE message_id = (?)", (message.reply_to_message.message_id,))
|
||||||
|
data = c.fetchone()
|
||||||
|
if data != None:
|
||||||
|
rjson["replyId"] = data[3]
|
||||||
|
notepost = requests.post(bots[message.chat.id][0] + "/api/notes/create", json=rjson)
|
||||||
|
logging.info("发布帖子成功")
|
||||||
|
else:
|
||||||
|
notepost = requests.post(bots[message.chat.id][0] + "/api/notes/create", json=rjson)
|
||||||
|
logging.info("发布帖子成功")
|
||||||
|
c = conn.cursor()
|
||||||
|
c.execute("INSERT INTO messages('channel_id', 'message_id', 'misskeynote_id') VALUES (?, ?, ?)",(message.chat.id, message.message_id, json.loads(notepost.text)["createdNote"]["id"]))
|
||||||
|
conn.commit()
|
||||||
|
conn.close()
|
||||||
|
logging.info("发布帖子成功")
|
||||||
|
|
||||||
@bot.channel_post_handler(content_types=["photo"])
|
@bot.channel_post_handler(content_types=["photo"])
|
||||||
def get_image(message):
|
def get_image(message):
|
||||||
|
|||||||
Reference in New Issue
Block a user