全球主机交流论坛

标题: 仿pikpak tg机器人。可搭配网盘优雅的转存tg姐姐们 [打印本页]

作者: saskeke    时间: 2022-12-28 18:54
标题: 仿pikpak tg机器人。可搭配网盘优雅的转存tg姐姐们
本帖最后由 saskeke 于 2022-12-30 13:51 编辑

转发文件给tg机器人,机器人生成链接并自动下载。也可以配置rclone上传到网盘。类似pikpak的tg机器人。
如果小鸡线路好可以直接访问url,用小鸡给tg文件加速。如果线路不好就上传到国内115之类的网盘。

大流量小盘鸡可以拿来做下载机器人。实测rn la机器上传到115能跑满

推荐rn系列、ovh0.97、BuyVM无限流量的等等

git: https://github.com/zxyge/tg_file_download_bot

安装方法
git clone https://github.com/zxyge/tg_file_download_bot.git
cd tg_file_download_bot
mv .env.example .env
pip3 install -r requirements.txt
python3 -m WebStreamer

使用方法:
API_ID : 去 my.telegram.org 获取.
API_HASH : 去 my.telegram.org 获取.
BOT_TOKEN : @BotFather获取
BIN_CHANNEL : 创建一个频道(公开私有都行),把bot拉进去设置成管理员,转发给bot的消息都会发送到这个频道,删除频道内的消息后对应的url将不可用
其他参数参考env文件中的注释自行修改。
将文件转发给bot
要上传到云盘需要rclone配合。
要上传到115还需要alist等能把115挂载成webdav的程序。

需要python3.8以上。


顺便原价出绿云黑五东京125三年,已翻倍:https://mjj.022333.xyz/thread-1116514-1-1.html        


作者: YorkZhao    时间: 2022-12-28 19:00
已经mark,这些还是值得star+fork的
作者: madacr    时间: 2022-12-28 19:08
YorkZhao 发表于 2022-12-28 19:00
已经mark,这些还是值得star+fork的

第一个STAR的是你吧
作者: siyi    时间: 2022-12-28 19:17
不错不错,感谢分享!
作者: saskeke    时间: 2022-12-28 19:18
用了的多多回帖啊,把骗子顶起来以免其他人再上当
作者: 交配交的人    时间: 2022-12-28 19:22
问个问题,我有文件了,我还要发给TG下载干什么?
作者: jacob    时间: 2022-12-28 19:25
交配交的人 发表于 2022-12-28 19:22
问个问题,我有文件了,我还要发给TG下载干什么?

转发tg频道,tg群的文件到网盘,方便搬砖涩涩视频吧
作者: saskeke    时间: 2022-12-28 20:28
交配交的人 发表于 2022-12-28 19:22
问个问题,我有文件了,我还要发给TG下载干什么?

你试试pikpak的tg机器人,效果类似。
作者: batsom    时间: 2022-12-28 22:32
已经mark,这些还是值得star+fork的
作者: iww    时间: 2022-12-28 22:56
马克一下,感谢楼主分享
作者: YIMSHING    时间: 2022-12-29 00:53
马可马可
作者: habimoc    时间: 2022-12-29 02:57
牛逼牛逼 收藏了
作者: louiejordan    时间: 2022-12-29 03:16
TG上的图片都是压缩的,有什么可转存的
作者: muyijiang    时间: 2022-12-29 06:50
有大佬已经开发出了支持115网盘的rclone魔改版
作者: muyijiang    时间: 2022-12-29 10:37
python3.10运行报错
  1. Traceback (most recent call last):
  2.   File "/usr/local/lib/python3.10/runpy.py", line 187, in _run_module_as_main
  3.     mod_name, mod_spec, code = _get_module_details(mod_name, _Error)
  4.   File "/usr/local/lib/python3.10/runpy.py", line 146, in _get_module_details
  5.     return _get_module_details(pkg_main_name, error)
  6.   File "/usr/local/lib/python3.10/runpy.py", line 110, in _get_module_details
  7.     __import__(pkg_name)
  8.   File "/opt/tg_file_download_bot/WebStreamer/__init__.py", line 6, in <module>
  9.     from .vars import Var
  10.   File "/opt/tg_file_download_bot/WebStreamer/vars.py", line 8, in <module>
  11.     load_dotenv()
  12.   File "/usr/local/lib/python3.10/site-packages/dotenv/main.py", line 341, in load_dotenv
  13.     return dotenv.set_as_environment_variables()
  14.   File "/usr/local/lib/python3.10/site-packages/dotenv/main.py", line 94, in set_as_environment_variables
  15.     os.environ[k] = v
  16.   File "/usr/local/lib/python3.10/os.py", line 684, in __setitem__
  17.     value = self.encodevalue(value)
  18.   File "/usr/local/lib/python3.10/os.py", line 757, in encode
  19.     return value.encode(encoding, 'surrogateescape')
  20. UnicodeEncodeError: 'latin-1' codec can't encode characters in position 2-6: ordinal not in range(256)
复制代码

作者: danielzi    时间: 2022-12-29 10:44
已star
作者: saskeke    时间: 2022-12-29 10:45
muyijiang 发表于 2022-12-29 10:37
python3.10运行报错

看样子是dotenv安装的有问题。试试重新安装下
作者: lrplii    时间: 2022-12-29 10:56
Traceback (most recent call last):
  File "/usr/lib/python3.8/runpy.py", line 185, in _run_module_as_main
    mod_name, mod_spec, code = _get_module_details(mod_name, _Error)
  File "/usr/lib/python3.8/runpy.py", line 144, in _get_module_details
    return _get_module_details(pkg_main_name, error)
  File "/usr/lib/python3.8/runpy.py", line 130, in _get_module_details
    spec = importlib.util.find_spec(mod_name)
  File "/usr/lib/python3.8/importlib/util.py", line 94, in find_spec
    parent = __import__(parent_name, fromlist=['__path__'])
  File "/root/tg_file_download_bot/WebStreamer/__init__.py", line 7, in <module>
    from WebStreamer.bot.clients import StreamBot
  File "/root/tg_file_download_bot/WebStreamer/bot/clients.py", line 8, in <module>
    from WebStreamer.utils import TokenParser
  File "/root/tg_file_download_bot/WebStreamer/utils/__init__.py", line 8, in <module>
    from .media_download import start
  File "/root/tg_file_download_bot/WebStreamer/utils/media_download.py", line 117
    file_id = await tg_connect.get_file_properties(message_id)
              ^
SyntaxError: 'await' outside async function
大佬报错了
作者: muyijiang    时间: 2022-12-29 10:57
saskeke 发表于 2022-12-29 10:45
看样子是dotenv安装的有问题。试试重新安装下

重装了还不行
作者: Sooele    时间: 2022-12-29 11:11
https://github.com/Sooele/telegram_channel_downloader

你这不就是2年轻就有的项目么,有什么变动么
作者: yushui    时间: 2022-12-29 11:12
大佬 报错:
  1. Traceback (most recent call last):
  2.   File "/usr/lib/python3.8/runpy.py", line 185, in _run_module_as_main
  3.     mod_name, mod_spec, code = _get_module_details(mod_name, _Error)
  4.   File "/usr/lib/python3.8/runpy.py", line 144, in _get_module_details
  5.     return _get_module_details(pkg_main_name, error)
  6.   File "/usr/lib/python3.8/runpy.py", line 130, in _get_module_details
  7.     spec = importlib.util.find_spec(mod_name)
  8.   File "/usr/lib/python3.8/importlib/util.py", line 94, in find_spec
  9.     parent = __import__(parent_name, fromlist=['__path__'])
  10.   File "/media/tg_file_download_bot/WebStreamer/__init__.py", line 7, in <module>
  11.     from WebStreamer.bot.clients import StreamBot
  12.   File "/media/tg_file_download_bot/WebStreamer/bot/clients.py", line 8, in <module>
  13.     from WebStreamer.utils import TokenParser
  14.   File "/media/tg_file_download_bot/WebStreamer/utils/__init__.py", line 8, in <module>
  15.     from .media_download import start
  16.   File "/media/tg_file_download_bot/WebStreamer/utils/media_download.py", line 117
  17.     file_id = await tg_connect.get_file_properties(message_id)
  18.               ^
  19. SyntaxError: 'await' outside async function
复制代码


另外,env里的域名是随便填吗?
作者: saskeke    时间: 2022-12-29 12:10
Sooele 发表于 2022-12-29 11:11
https://github.com/Sooele/telegram_channel_downloader

你这不就是2年轻就有的项目么,有什么变动么 ...

这个是获取整个频道文件
作者: muyijiang    时间: 2022-12-29 12:37
saskeke 发表于 2022-12-29 12:10
这个是获取整个频道文件

重装了系统,换了py8也不行,大佬还是检查一下代码兼容性吧
作者: saskeke    时间: 2022-12-29 12:42
muyijiang 发表于 2022-12-29 12:37
重装了系统,换了py8也不行,大佬还是检查一下代码兼容性吧

重新pull下代码
作者: muyijiang    时间: 2022-12-29 12:43
saskeke 发表于 2022-12-29 12:42
重新pull下代码

重搞三次了,一样的结果
作者: saskeke    时间: 2022-12-29 12:45
本帖最后由 saskeke 于 2022-12-29 12:48 编辑
muyijiang 发表于 2022-12-29 12:43
重搞三次了,一样的结果


私聊root给我,帮你看看咋回事,或者联系我tg zxyge
作者: muyijiang    时间: 2022-12-29 12:57
saskeke 发表于 2022-12-29 12:42
重新pull下代码

看你更新代码了,我再试试
作者: Sooele    时间: 2022-12-29 13:35
saskeke 发表于 2022-12-29 12:10
这个是获取整个频道文件

明白
作者: ouRi    时间: 2022-12-29 14:34
requirements.txt 没更新
作者: 晴空    时间: 2022-12-29 15:38
建议搞个视频教程
作者: 风呼呼    时间: 2022-12-30 23:29
提示: 作者被禁止或删除 内容自动屏蔽
作者: hkc    时间: 2023-1-14 10:26
python3.9好像不行,换3.8才行,跑完requirements,还是缺模块,nest_asyncio啥的
作者: auto8624    时间: 2023-1-14 12:38
本帖最后由 auto8624 于 2023-1-14 13:35 编辑

搞定了,原来是你的requirements.txt有问题
pip3 install python-dotenv
pip3 install pyrogram
pip3 install httpx
pip3 install requests
pip3 install nest_asyncio

pip3全部安装后才正常



有个问题啊,我vps里的下载的视频不完整啊,20M的视频下载了半天了一直只有几M。

还有个问题,vps重启后再运行就一直这样了
Starting - Worker 0
Starting - Worker 1
Starting - Worker 2
All workers started
[14/01/2023 13:34:22][ERROR] => database is locked
Traceback (most recent call last):
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "/root/tg_file_download_bot/WebStreamer/__main__.py", line 77, in <module>
    loop.run_until_complete(cleanup())
  File "/usr/local/lib/python3.11/site-packages/nest_asyncio.py", line 90, in run_until_complete
    return f.result()
           ^^^^^^^^^^
  File "/usr/local/lib/python3.11/asyncio/futures.py", line 203, in result
    raise self._exception.with_traceback(self._exception_tb)
  File "/usr/local/lib/python3.11/asyncio/tasks.py", line 267, in __step
    result = coro.send(None)
             ^^^^^^^^^^^^^^^
  File "/root/tg_file_download_bot/WebStreamer/__main__.py", line 64, in cleanup
    await StreamBot.stop()
  File "/usr/local/lib/python3.11/site-packages/pyrogram/methods/utilities/stop.py", line 65, in stop
    await do_it()
  File "/usr/local/lib/python3.11/site-packages/pyrogram/methods/utilities/stop.py", line 61, in do_it
    await self.terminate()
  File "/usr/local/lib/python3.11/site-packages/pyrogram/methods/auth/terminate.py", line 40, in terminate
    raise ConnectionError("Client is already terminated")
ConnectionError: Client is already terminated

作者: saskeke    时间: 2023-1-14 22:09
auto8624 发表于 2023-1-14 12:38
搞定了,原来是你的requirements.txt有问题
pip3 install python-dotenv
pip3 install pyrogram

删掉目录下的session文件,你已经有tg进程了
作者: admims    时间: 2023-1-15 19:57
能不能加个监控某个频道的功能,转发太累了




欢迎光临 全球主机交流论坛 (https://mjj.022333.xyz/) Powered by Discuz! X3.4