tg_bot.py 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. import datetime
  2. import os
  3. import sys
  4. import telebot
  5. # 日志打印
  6. def log(msg):
  7. china_time = datetime.datetime.now(datetime.timezone(datetime.timedelta(hours=8)))
  8. print(f"[{china_time.strftime('%Y.%m.%d %H:%M:%S')}] {msg}")
  9. # 上传文件
  10. def upload_file(tb, chat_id, file_dir):
  11. doc = open(file_dir, 'rb')
  12. tb.send_document(chat_id, doc)
  13. # 上传文件夹内的文件
  14. def upload_folder(tb, chat_id, folder_dir):
  15. file_list = sorted(os.listdir(folder_dir))
  16. for file in file_list:
  17. path = os.path.join(folder_dir, file)
  18. if os.path.isfile(path):
  19. upload_file(tb, chat_id, path)
  20. else:
  21. upload_folder(tb, chat_id, path)
  22. # 上传
  23. def upload(tb, chat_id, dir):
  24. if tb is None:
  25. log('ERROR: 输入正确的token')
  26. return
  27. if chat_id is None:
  28. log('ERROR: 输入正确的chat_id')
  29. return
  30. if dir is None:
  31. log('ERROR: 请指定上传的文件路径')
  32. return
  33. if os.path.isfile(dir):
  34. upload_file(tb, chat_id, dir)
  35. else:
  36. upload_folder(tb, chat_id, dir)
  37. if __name__ == '__main__':
  38. argv = sys.argv[1:]
  39. if len(argv) != 3:
  40. log('ERROR: 参数错误,请以这种格式重新尝试\npython tg_bot.py $token $chat_id 待上传的路径')
  41. # Token
  42. TOKEN = argv[0]
  43. # chat_id
  44. chat_id = argv[1]
  45. # 待上传文件的路径
  46. upload_path = argv[2]
  47. #创建连接
  48. tb = telebot.TeleBot(TOKEN)
  49. #开始上传
  50. upload(tb, chat_id, upload_path)