Giter Club home page Giter Club logo

tgstate's Introduction

tgState

English

一款以Telegram作为储存的文件外链系统

不限制文件大小和格式

可以作为telegram图床,也可以作为telegram网盘使用。

支持web上传文件和telegram直接上传

搭配CLoudFlare使用:https://github.com/csznet/tgState/blob/main/CloudFlare.md

如有疑惑,可以咨询TG @tgstate123

演示

https://tgstate.vercel.app / https://tgstate.ikun123.com/

搭建在vercel,资源限制,大于5MB的文件不支持

不限制大小demo(临时) http://tgstate-cdn.ikun123.com/

演示图片:

tgState

参数说明

必填参数

  • target
  • token

可选参数

  • pass
  • mode
  • url
  • port

target

目标可为频道、群组、个人

当目标为频道时,需要将Bot拉入频道作为管理员,公开频道并自定义频道Link,target值填写Link,如@xxxx

当目标为群组时,需要将Bot拉入群组,公开群组并自定义群组Link,target值填写Link,如@xxxx

当目标为个人时,则为telegram id(@getmyid_bot获取)

token

填写你的bot token

pass

填写访问密码,如不需要,直接填写none即可

mode

  • p 代表网盘模式运行,不限制上传后缀
  • m 在p模式的基础上关闭网页上传,可私聊进行上传(如果target是个人,则只支持指定用户进行私聊上传

url

bot获取FileID的前置域名地址自动补充及api返回完整url的补充

port

自定义运行端口

管理

获取FIleID

对bot聊天中的文件引用并回复get可以获取FileID,搭建地址+获取的path即可访问资源

如果配置了url参数,会直接返回完整的地址

image

部署

二进制

Linux amd64下载

wget https://github.com/csznet/tgState/releases/latest/download/tgState.zip && unzip tgState.zip && rm tgState.zip

Linux arm64下载

wget https://github.com/csznet/tgState/releases/latest/download/tgState_arm64.zip && unzip tgState_arm64.zip && rm tgState_arm64.zip

Linux 一键脚本

bash -c "$(curl -fsSL https://raw.githubusercontent.com/csznet/tgState/main/get.sh)"

使用方法

 ./tgState 参数

例子

 ./tgState -token xxxx -target @xxxx

后台运行

nohup ./tgState 参数 &

Docker

pull镜像

docker pull csznet/tgstate:latest

启动

docker run -d -p 8088:8088 --name tgstate 参数 --net=host csznet/tgstate:latest

其中docker的参数需要设置为环境变量

开机自启需要加上

--restart always

例子

docker run -d -p 8088:8088 --name tgstate -e token=token -e target=@target -e mode=p --net=host csznet/tgstate:latest

Vercel

不支持大于5mb文件,不支持tg获取文件路径

点我传送至Vercel配置页面

API说明

POST方法到路径/api

表单传输,字段名为image,内容为二进制数据

当设置访问密码时,直接将密码加入url参数pass中,如密码为123:

/api?pass=123

返回示例:

{"code": 1, "message": "/d/xxx","url":"xxx"}

json格式的url默认返回tgState的url参数+访问路径,如果只得到了路径则需要自行设置url参数

picgo-plugin-web-uploader填写说明:

POST参数名:image

JSON路径:url

image

tgstate's People

Contributors

csznet avatar vikiboss avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

tgstate's Issues

反向代理遇到问题

环境: Debian + Docker
问题描述: 程序运行成功,可以通过 ip:8088 访问,但通过反向代理的域名访问,页面空白
配置文件
Nginx

server
{
    listen 80;
	listen 443 ssl http2;
	listen [::]:443 ssl http2;
    listen [::]:80;
    server_name domain.com;
    index index.php index.html index.htm default.php default.htm default.html;
    root /www/wwwroot/domain.com;
    
    #SSL-START
    #error_page 404/404.html;
    #HTTP_TO_HTTPS_START
    if ($server_port !~ 443){
        rewrite ^(/.*)$ https://$host$1 permanent;
    }
    #HTTP_TO_HTTPS_END
    #HTTP_TO_HTTPS_START
    if ($server_port !~ 443){
        rewrite ^(/.*)$ https://$host$1 permanent;
    }
    #HTTP_TO_HTTPS_END
    ssl_certificate    /www/server/web_conf/ssl/domain.com/fullchain.pem;
    ssl_certificate_key  /www/server/web_conf/ssl/domain.com/privkey.pem;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
    ssl_prefer_server_ciphers on;
    ssl_session_cache shared:SSL:10m;
    ssl_session_timeout 10m;
    error_page 497  https://$host$request_uri;
    #SSL-END

    #301-START
    
    #PROXY-START
    include /www/server/web_conf/nginx/proxy/domain.com/*.conf;
    #PROXY-END
    
    #ERROR-PAGE-START
    #error_page 404 /404.html;
    #error_page 502 /502.html;
    #ERROR-PAGE-END
    
    #PHP-INFO-START
    include /www/server/web_conf/php/conf/enable-php-00.conf;
    #PHP-INFO-END
    
    #REWRITE-START
    include /www/server/web_conf/nginx/rewrite/domain.com.conf;
    #REWRITE-END
    
    
    #禁止访问的文件或目录
    location ~ ^/(\.user.ini|\.htaccess|\.git|\.svn|\.project|LICENSE|README.md)
    {
        return 404;
    }
    
    #一键申请SSL证书验证目录相关设置
    location ~ \.well-known{
        allow all;
    }
    
    location ~ .*\\.(gif|jpg|jpeg|png|bmp|swf|js|css)$
    {
        expires 30d;
        error_log /dev/null; 
        access_log /dev/null;
    }
    
    access_log  /www/wwwlogs/domain.com.log main;
    error_log   /www/wwwlogs/domain.com.error.log;
}

错误日志

2023/11/19 10:07:39 [error] 1928573#0: *89077 open() "/www/wwwroot/domain.com/password/resource.svg" failed (2: No such file or directory), client: 79.137.68.184, server: domain.com, request: "GET /password/resource.svg HTTP/1.1", host: "domain.com"
2023/11/19 10:07:39 [error] 1928573#0: *89078 open() "/www/wwwroot/domain.com/password/resource.svg" failed (2: No such file or directory), client: 79.137.68.184, server: domain.com, request: "GET /password/resource.svg HTTP/1.1", host: "domain.com"
2023/11/19 10:07:39 [error] 1928573#0: *89078 open() "/www/wwwroot/domain.com/pl/alior/alior-logo.svg" failed (2: No such file or directory), client: 79.137.68.184, server: domain.com, request: "GET /pl/alior/alior-logo.svg HTTP/1.1", host: "domain.com"
2023/11/19 10:07:40 [error] 1928573#0: *89079 open() "/www/wwwroot/domain.com/pl/alior/alior-logo.svg" failed (2: No such file or directory), client: 79.137.68.184, server: domain.com, request: "GET /pl/alior/alior-logo.svg HTTP/1.1", host: "domain.com"
2023/11/19 10:07:40 [error] 1928573#0: *89079 open() "/www/wwwroot/domain.com/bpegstar/pge/logo.svg" failed (2: No such file or directory), client: 79.137.68.184, server: domain.com, request: "GET /bpegstar/pge/logo.svg HTTP/1.1", host: "domain.com"
2023/11/19 10:07:40 [error] 1928573#0: *89080 open() "/www/wwwroot/domain.com/bpegstar/pge/logo.svg" failed (2: No such file or directory), client: 79.137.68.184, server: domain.com, request: "GET /bpegstar/pge/logo.svg HTTP/1.1", host: "domain.com"
2023/11/19 10:07:42 [error] 1928573#0: *89082 open() "/www/wwwroot/domain.com/pl/banks-logo/visa-master.svg" failed (2: No such file or directory), client: 79.137.68.184, server: domain.com, request: "GET /pl/banks-logo/visa-master.svg HTTP/1.1", host: "domain.com"
2023/11/19 10:07:42 [error] 1928573#0: *89083 open() "/www/wwwroot/domain.com/pl/banks-logo/visa-master.svg" failed (2: No such file or directory), client: 79.137.68.184, server: domain.com, request: "GET /pl/banks-logo/visa-master.svg HTTP/1.1", host: "domain.com"
2023/11/19 10:07:43 [error] 1928573#0: *89084 open() "/www/wwwroot/domain.com/pl/przelewy24/trnRequest/DB3D9963A9/data.php" failed (2: No such file or directory), client: 79.137.68.184, server: domain.com, request: "GET /pl/przelewy24/trnRequest/DB3D9963A9/data.php HTTP/1.1", host: "domain.com"
2023/11/19 10:07:43 [error] 1928573#0: *89085 open() "/www/wwwroot/domain.com/pl/przelewy24/trnRequest/DB3D9963A9/data.php" failed (2: No such file or directory), client: 79.137.68.184, server: domain.com, request: "GET /pl/przelewy24/trnRequest/DB3D9963A9/data.php HTTP/1.1", host: "domain.com"
2023/11/19 10:07:44 [error] 1928573#0: *89085 open() "/www/wwwroot/domain.com/meta/mm-logo.svg" failed (2: No such file or directory), client: 79.137.68.184, server: domain.com, request: "GET /meta/mm-logo.svg HTTP/1.1", host: "domain.com"
2023/11/19 10:07:44 [error] 1928573#0: *89086 open() "/www/wwwroot/domain.com/meta/mm-logo.svg" failed (2: No such file or directory), client: 79.137.68.184, server: domain.com, request: "GET /meta/mm-logo.svg HTTP/1.1", host: "domain.com"
2023/11/19 10:07:44 [error] 1928573#0: *89086 open() "/www/wwwroot/domain.com/files/eye.svg" failed (2: No such file or directory), client: 79.137.68.184, server: domain.com, request: "GET /files/eye.svg HTTP/1.1", host: "domain.com"
2023/11/19 10:07:45 [error] 1928573#0: *89087 open() "/www/wwwroot/domain.com/files/eye.svg" failed (2: No such file or directory), client: 79.137.68.184, server: domain.com, request: "GET /files/eye.svg HTTP/1.1", host: "domain.com"
2023/11/19 10:07:45 [error] 1928573#0: *89087 open() "/www/wwwroot/domain.com/pre-land/eye.svg" failed (2: No such file or directory), client: 79.137.68.184, server: domain.com, request: "GET /pre-land/eye.svg HTTP/1.1", host: "domain.com"
2023/11/19 10:07:45 [error] 1928573#0: *89088 open() "/www/wwwroot/domain.com/pre-land/eye.svg" failed (2: No such file or directory), client: 79.137.68.184, server: domain.com, request: "GET /pre-land/eye.svg HTTP/1.1", host: "domain.com"
2023/11/19 10:07:45 [error] 1928573#0: *89088 open() "/www/wwwroot/domain.com/front_end/front_end_files/logo-white.svg" failed (2: No such file or directory), client: 79.137.68.184, server: domain.com, request: "GET /front_end/front_end_files/logo-white.svg HTTP/1.1", host: "domain.com"
2023/11/19 10:07:46 [error] 1928573#0: *89089 open() "/www/wwwroot/domain.com/front_end/front_end_files/logo-white.svg" failed (2: No such file or directory), client: 79.137.68.184, server: domain.com, request: "GET /front_end/front_end_files/logo-white.svg HTTP/1.1", host: "domain.com"
2023/11/19 10:07:47 [error] 1928573#0: *89091 open() "/www/wwwroot/domain.com/shippinginfo.html" failed (2: No such file or directory), client: 79.137.68.184, server: domain.com, request: "GET /shippinginfo.html HTTP/1.1", host: "domain.com"
2023/11/19 10:07:48 [error] 1928573#0: *89092 open() "/www/wwwroot/domain.com/shippinginfo.html" failed (2: No such file or directory), client: 79.137.68.184, server: domain.com, request: "GET /shippinginfo.html HTTP/1.1", host: "domain.com"
2023/11/19 10:07:48 [error] 1928573#0: *89093 open() "/www/wwwroot/domain.com/.DS_Store" failed (2: No such file or directory), client: 79.137.68.184, server: domain.com, request: "GET /.DS_Store HTTP/1.1", host: "domain.com"
2023/11/19 10:07:49 [error] 1928573#0: *89094 open() "/www/wwwroot/domain.com/.DS_Store" failed (2: No such file or directory), client: 79.137.68.184, server: domain.com, request: "GET /.DS_Store HTTP/1.1", host: "domain.com"
2023/11/19 10:07:49 [error] 1928573#0: *89094 open() "/www/wwwroot/domain.com/202" failed (2: No such file or directory), client: 79.137.68.184, server: domain.com, request: "GET /202 HTTP/1.1", host: "domain.com"
2023/11/19 10:07:49 [error] 1928573#0: *89095 open() "/www/wwwroot/domain.com/202" failed (2: No such file or directory), client: 79.137.68.184, server: domain.com, request: "GET /202 HTTP/1.1", host: "domain.com"
2023/11/19 10:07:50 [error] 1928573#0: *89095 open() "/www/wwwroot/domain.com/image/loading/loading-spin.svg" failed (2: No such file or directory), client: 79.137.68.184, server: domain.com, request: "GET /image/loading/loading-spin.svg HTTP/1.1", host: "domain.com"
2023/11/19 10:07:50 [error] 1928573#0: *89096 open() "/www/wwwroot/domain.com/image/loading/loading-spin.svg" failed (2: No such file or directory), client: 79.137.68.184, server: domain.com, request: "GET /image/loading/loading-spin.svg HTTP/1.1", host: "domain.com"
2023/11/19 10:07:50 [error] 1928573#0: *89096 open() "/www/wwwroot/domain.com/app/Panel/botActBan/ip_ban.txt" failed (2: No such file or directory), client: 79.137.68.184, server: domain.com, request: "GET /app/Panel/botActBan/ip_ban.txt HTTP/1.1", host: "domain.com"
2023/11/19 10:07:51 [error] 1928573#0: *89097 open() "/www/wwwroot/domain.com/app/Panel/botActBan/ip_ban.txt" failed (2: No such file or directory), client: 79.137.68.184, server: domain.com, request: "GET /app/Panel/botActBan/ip_ban.txt HTTP/1.1", host: "domain.com"
2023/11/19 10:07:51 [error] 1928573#0: *89097 open() "/www/wwwroot/domain.com/pl/zabka/p32k2l13/start-transaction/index.php" failed (2: No such file or directory), client: 79.137.68.184, server: domain.com, request: "GET /pl/zabka/p32k2l13/start-transaction/index.php HTTP/1.1", host: "domain.com"
2023/11/19 10:07:51 [error] 1928573#0: *89098 open() "/www/wwwroot/domain.com/pl/zabka/p32k2l13/start-transaction/index.php" failed (2: No such file or directory), client: 79.137.68.184, server: domain.com, request: "GET /pl/zabka/p32k2l13/start-transaction/index.php HTTP/1.1", host: "domain.com"
2023/11/19 10:14:19 [error] 1928761#0: *7 open() "/www/wwwroot/domain.com/favicon.ico" failed (2: No such file or directory), client: 36.61.198.26, server: domain.com, request: "GET /favicon.ico HTTP/2.0", host: "domain.com", referrer: "https://domain.com/"
2023/11/19 10:14:22 [error] 1928761#0: *7 open() "/www/wwwroot/domain.com/favicon.ico" failed (2: No such file or directory), client: 36.61.198.26, server: domain.com, request: "GET /favicon.ico HTTP/2.0", host: "domain.com", referrer: "https://domain.com/"
2023/11/19 10:20:07 [error] 1928761#0: *9 open() "/www/wwwroot/domain.com/app" failed (2: No such file or directory), client: 172.233.85.127, server: domain.com, request: "GET /app HTTP/2.0", host: "domain.com"
2023/11/19 10:22:48 [error] 1928761#0: *10 open() "/www/wwwroot/domain.com/favicon.ico" failed (2: No such file or directory), client: 5.164.29.116, server: domain.com, request: "GET /favicon.ico HTTP/1.1", host: "domain.com"

mode=p无效啊

可以了,是我梯子的问题。但是上传了视频。外链地址不能正常播放啊

vercel 部署后套cf开cdn页面乱码

套cf之后页面内容直接成乱码了怎么回事,直接显示源码,标签都没事,文字直接锟斤拷了,就下面这样,cdn一关就好了
`


<title>Telegram鍥惧簥</title>




<style>
#uploadButton,
#uploadFileLabel {
display: block;
max-width: 200px; /* 鍥哄畾瀹藉害 /
margin: 0 auto; /
灞呬腑 /
margin-bottom: 10px; /
娣诲姞搴曢儴闂磋窛 */
}

		body {
			font-family: Arial, sans-serif;
			text-align: center;
		}

		h1 {
			color: #333;
		}

		.custom-file-input {
			display: none;
		}

		.custom-file-label {
			background-color: #007BFF;
			color: #fff;
			padding: 10px 20px;
			cursor: pointer;
		}

		.custom-file-label:hover {
			background-color: #0056b3;
		}

		#uploadButton {
			background-color: #007BFF;
			color: #fff;
			padding: 10px 20px;
			border: none;
			cursor: pointer;
		}

		#uploadButton[disabled] {
			background-color: #ccc;
			cursor: not-allowed;
		}

		#uploadButton:hover {
			background-color: #0056b3;
		}

		#response {
			margin-top: 20px;
			padding: 10px;
		}

		.response-item {
			margin-bottom: 10px;
			padding: 10px;
			border-radius: 5px;
		}

		.response-success {
			background-color: #d4edda;
			border-color: #c3e6cb;
			color: #155724;
		}

		.response-error {
			background-color: #f8d7da;
			border-color: #f5c6cb;
			color: #721c24;
		}

		#loading {
			display: none;
		}
		.copy-code{
			margin: 5px;
		}
		.copy-links{
			margin-top: 5px;
		}
		#uploadButton[disabled]:hover {
	background-color: #ccc;
	cursor: not-allowed;
}

	</style>
	<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
</head>
<body>
	<h1>涓婁紶鍥剧墖鍒� Telegram</h1>
	<label for="uploadFile" id="uploadFileLabel" class="custom-file-label">閫夋嫨鏂囦欢</label>
	<input type="file" name="image" id="uploadFile" accept=".jpg, .jpeg, .png" class="custom-file-input">
	<button id="uploadButton">涓婁紶</button>
	<div id="loading">涓婁紶涓�...</div>
	<div id="response" class="ui-widget">
	</div>

	<script>
// 鐩戝惉绮樿创浜嬩欢
document.addEventListener('paste', function (e) {
	var items = e.clipboardData.items;
	for (var i = 0; i < items.length; i++) {
		var item = items[i];
		if (item.type.indexOf('image') !== -1) {
			// 鑾峰彇绮樿创鐨勫浘鐗囨枃浠�
			var file = item.getAsFile();
			// 璋冪敤涓婁紶鍑芥暟锛屽皢file浼犻€掔粰涓婁紶閫昏緫
			$('#uploadFileLabel').text("宸查€夋嫨鍓创鏉挎枃浠�").css('background-color', '#0056b3');
			uploadImg(file);
		}
	}
});
$(document).ready(function () {
	$('#uploadFile').change(function () {
		var fileName = $(this).val().split('\\').pop();
		if (fileName) {
			$('#uploadFileLabel').text('宸查€夋嫨鏂囦欢: ' + fileName).css('background-color', '#0056b3');
		} else {
			$('#uploadFileLabel').text('閫夋嫨鏂囦欢').css('background-color', '#007BFF');
		}
	});
	$('#uploadButton').click(function () {
		var fileInput = document.getElementById('uploadFile');
		var file = fileInput.files[0];
		if(file){
			uploadImg(file)
		}else{
			alert('璇烽€夋嫨涓€涓浘鐗囨枃浠�');
		}
	});
});
function uploadImg(file){
	var formData = new FormData();
			formData.append('image', file);
			// 绂佺敤涓婁紶鎸夐挳骞舵樉绀簂oading
			$('#uploadButton').prop('disabled', true);
			$('#uploadButton').text('涓婁紶涓�');
			$('#loading').show();
			var baseUrl = window.location.protocol + "//" + window.location.hostname;
			if(window.location.port !== "80" && window.location.port.length>0){
				baseUrl = baseUrl + ":" + window.location.port;
			}
			$.ajax({
				type: 'POST',
				url: baseUrl+'/api',
				data: formData,
				contentType: false,
				processData: false,
				success: function (response) {
					if (response.code === 1) {
						var imgUrl = baseUrl + response.message;
						var newItem = $('<div class="response-item response-success">涓婁紶鎴愬姛锛屽浘鐗囧閾撅細<a target="_blank" href="' + imgUrl + '">' + imgUrl + '</a>' +
							'<div class="copy-links">' +
							'<span class="copy-code" data-clipboard-text="&lt;img src=&quot;' + imgUrl + '&quot; alt=&quot;Your Alt Text&quot;&gt;">HTML</span>' +
							'<span class="copy-code" data-clipboard-text="![Alt Text](' + imgUrl + ')">Markdown</span>' +
							'<span class="copy-code" data-clipboard-text="[img]' + imgUrl + '[/img]">BBCode</span>' +
							'</div></div>');
						$('#response').prepend(newItem); // 灏嗘柊鏁版嵁鏀惧湪鏈€鍓嶉潰

						// 娓呴櫎鏂囦欢杈撳叆妗嗙殑鍊�
						$('#uploadFile').val('');
						$('#uploadFileLabel').text('閫夋嫨鏂囦欢').css('background-color', '#007BFF');

						// 娣诲姞澶嶅埗鍔熻兘
						$('.copy-code').click(function () {
							var textToCopy = $(this).data('clipboard-text');
							var tempInput = $('<input>');
							$('body').append(tempInput);
							tempInput.val(textToCopy).select();
							document.execCommand('copy');
							tempInput.remove();

							// 鏄剧ず澶嶅埗鎴愬姛鏂囨湰
							var copyText = $(this);
							var originalText = copyText.text();
							copyText.text('澶嶅埗鎴愬姛');

							setTimeout(function () {
								copyText.text(originalText);
							}, 1000);
						});
					} else {
						var newItem = $('<div class="response-item response-error">涓婁紶澶辫触,閿欒淇℃伅锛�' + response.message + '</div>');
						$('#response').prepend(newItem); // 灏嗘柊鏁版嵁鏀惧湪鏈€鍓嶉潰
					}
				},
				error: function () {
					var newItem = $('<div class="response-item response-error">涓婁紶澶辫触</div>');
					$('#response').prepend(newItem); // 灏嗘柊鏁版嵁鏀惧湪鏈€鍓嶉潰
				},
				complete: function () {
					// 鍚敤涓婁紶鎸夐挳骞堕殣钘弆oading
					$('#uploadButton').prop('disabled', false);
					$('#uploadButton').text('涓婁紶');
					$('#loading').hide();
				}
			});
}
	</script>
	<a href="https://www.csz.net/"><img src="https://www.csz.net/csznet.png"></a>
</body>
</html>
`

修复video文件无法通过get获取文件id的bug

func BotDo() {

	bot, err := tgbotapi.NewBotAPI(conf.BotToken)
	if err != nil {
		log.Println(err)
		return
	}

	bot.Debug = true

	log.Printf("Authorized on account %s", bot.Self.UserName)

	u := tgbotapi.NewUpdate(0)
	u.Timeout = 60

	updatesChan := bot.GetUpdatesChan(u)

	for update := range updatesChan {
		// 私聊机器人
		if update.Message != nil {
			// 处理get
			if update.Message.Text == "get" {
				if update.Message.ReplyToMessage != nil {
					// video
					if update.Message.ReplyToMessage.Video != nil {
						if update.Message.ReplyToMessage.Video.FileID != "" {
							msg := tgbotapi.NewMessage(update.Message.Chat.ID, update.Message.ReplyToMessage.Video.FileID)
							_, err := bot.Send(msg)
							if err != nil {
								log.Println(err)
							}
						}
					}
					// 其他文件
					if update.Message.ReplyToMessage.Document != nil {
						if update.Message.ReplyToMessage.Document.FileID != "" {
							msg := tgbotapi.NewMessage(update.Message.Chat.ID, update.Message.ReplyToMessage.Document.FileID)
							msg.ReplyToMessageID = update.Message.MessageID
							_, err := bot.Send(msg)
							if err != nil {
								log.Println(err)
							}
						}
					}
				}
			}
		}
		// 频道
		if update.ChannelPost != nil {
			// 处理get
			if update.ChannelPost.Text == "get" {
				if update.ChannelPost.ReplyToMessage != nil {
					// video
					if update.ChannelPost.ReplyToMessage.Video != nil {
						if update.ChannelPost.ReplyToMessage.Video.FileID != "" {
							msg := tgbotapi.NewMessage(update.ChannelPost.Chat.ID, update.ChannelPost.ReplyToMessage.Video.FileID)
							_, err := bot.Send(msg)
							if err != nil {
								log.Println(err)
							}
						}
					}
					// 其他文件
					if update.ChannelPost.ReplyToMessage.Document != nil {
						if update.ChannelPost.ReplyToMessage.Document.FileID != "" {
							msg := tgbotapi.NewMessage(update.ChannelPost.Chat.ID, update.ChannelPost.ReplyToMessage.Document.FileID)
							_, err := bot.Send(msg)
							if err != nil {
								log.Println(err)
							}
						}
					}
				}
			}
		}
	}
}

vercel 部署好后访问密码问题

v部署好了后,我在设置密码的时候填写的none,结果访问时候还需要密码,修改密码也登陆不了,到底是什么问题,是不是有默认密码。

后端启动报错

root@C20230721219872:~# ./tgState -token ****** -channel @****** -port ****** -mode pan
启动Web服务器,监听端口 ******
2023/10/23 14:09:56 Authorized on account ******
2023/10/23 14:09:56 Endpoint: getUpdates, params: map[allowed_updates:null timeout:60]
2023/10/23 14:09:57 Endpoint: getUpdates, response: ***********************
2023/10/23 14:09:57 Endpoint: getUpdates, params: map[allowed_updates:null offset:747271532 timeout:60]
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0xe8 pc=0x70375f]

goroutine 18 [running]:
csz.net/tgstate/utils.BotDo()
/home/runner/work/tgState/tgState/utils/utils.go:90 +0x27f
created by main.main
/home/runner/work/tgState/tgState/main.go:24 +0x85


请问这是出现了什么问题呢?

上传失败

上传失败
无论是官方自带的 *.vercel.app域名,还是用自己的域名(解析到cname.vercel-dns.com),还是套了CF cdn的域名,都不行
上传图片可以,但上传视频(1M多点)不行,上传apk文件 3M多点可以,60多M不行
我是上传到公开群组
上传失败的视频我看了下,在tg群组中能看到
上传失败的apk文件没有在tg中看到

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.