|
12 | 12 |
|
13 | 13 | useproxy: { value: false, required: false }, |
14 | 14 | usewss: { value: false, required: false }, |
| 15 | + devicemodel: { value: "", required: false }, |
| 16 | + systemversion: { value: "", required: false }, |
| 17 | + appversion: { value: "", required: false }, |
| 18 | + |
15 | 19 | host: { value: "", required: false }, |
16 | 20 | sockstype: { value: "5", required: false }, |
17 | 21 | port: { value: 6667, required: false, validate:function(v) { return ((v === "") || (RED.validators.number(v) && (v >= 0) && (v <= 2147483))) }}, |
|
34 | 38 | }, |
35 | 39 | oneditprepare: function() { |
36 | 40 | // polling or webhook |
37 | | - var updateLoginMode = function() { |
38 | | - var mode = $("#node-config-input-loginmode").val(); |
| 41 | + let updateLoginMode = function() { |
| 42 | + let mode = $("#node-config-input-loginmode").val(); |
39 | 43 | if (mode == "user") { |
40 | 44 | $("#phonenumber").show(); |
41 | 45 | $("#password").show(); |
|
51 | 55 |
|
52 | 56 |
|
53 | 57 | // proxy on / off |
54 | | - var useproxy = function() { |
55 | | - var mode = $("#node-config-input-useproxy").prop('checked'); |
| 58 | + let useproxy = function() { |
| 59 | + let mode = $("#node-config-input-useproxy").prop('checked'); |
56 | 60 | if (mode === false) { |
57 | 61 | $("#useproxy").hide(); |
58 | 62 | } else { |
|
63 | 67 | $("#node-config-input-useproxy").change(useproxy); |
64 | 68 |
|
65 | 69 |
|
66 | | - var login = function() { |
| 70 | + let login = function() { |
67 | 71 | let apiId = $("#node-config-input-apiid").val(); |
68 | 72 | let apiHash = $("#node-config-input-apihash").val(); |
69 | 73 | let phoneNumber = $("#node-config-input-phonenumber").val(); |
70 | 74 | let password = $("#node-config-input-password").val(); |
71 | 75 | let botToken = $("#node-config-input-bottoken").val(); |
72 | 76 | let loginMode = $("#node-config-input-loginmode").val(); |
73 | | - let useProxy = $("#node-config-input-useproxy").val(); |
74 | | - let useWSS = $("#node-config-input-usewss").val(); |
| 77 | + let useProxy = $("#node-config-input-useproxy").prop('checked'); |
| 78 | + let useWSS = $("#node-config-input-usewss").prop('checked'); |
| 79 | + let devicemodel = $("#node-config-input-devicemodel").val(); |
| 80 | + let systemversion = $("#node-config-input-systemversion").val(); |
| 81 | + let appversion = $("#node-config-input-appversion").val(); |
75 | 82 | let proxy; |
76 | 83 |
|
77 | 84 | if (useProxy) { |
|
82 | 89 | username: $("#node-config-input-username").val(), |
83 | 90 | password: $("#node-config-input-password").val(), |
84 | 91 | secret: $("#node-config-input-secret").val(), |
85 | | - MTProxy: $("#node-config-input-mtproxy").val(), |
| 92 | + MTProxy: $("#node-config-input-mtproxy").prop('checked'), |
86 | 93 | timeout: Number($("#node-config-input-timeout").val()), |
87 | 94 | }; |
88 | 95 | } |
|
97 | 104 | loginMode : loginMode, |
98 | 105 | proxy : proxy, |
99 | 106 | useWSS : useWSS, |
| 107 | + devicemodel : devicemodel, |
| 108 | + systemversion : systemversion, |
| 109 | + appversion : appversion, |
100 | 110 | } |
101 | 111 |
|
102 | 112 | $("#loginbuttontip").text("Login started: enter code in field below."); |
103 | 113 | $("#node-config-input-phonecode").val(''); |
104 | 114 | $("#node-config-input-session").val(''); |
105 | 115 | $.getJSON('node-red-node-telegrambot-login', parameters, function(data) { |
106 | 116 | if(data.session){ |
107 | | - debugger |
108 | 117 | $("#node-config-input-session").val(data.session); |
109 | 118 | $("#loginbuttontip").text("Click Login button to request code for login: code will be sent via your phone."); |
110 | 119 | $("#node-config-input-phonecode").val(''); |
|
119 | 128 | } |
120 | 129 | } |
121 | 130 |
|
122 | | - var setPhoneCode = function() { |
| 131 | + let setPhoneCode = function() { |
123 | 132 | let phoneCode = $("#node-config-input-phonecode").val(); |
124 | 133 | if(phoneCode != ''){ |
125 | 134 | $("#loginbuttontip").text("Signing in using phone code ...."); |
|
132 | 141 | } |
133 | 142 | } |
134 | 143 |
|
135 | | - var setPassword = function() { |
| 144 | + let setPassword = function() { |
136 | 145 | let password = $("#node-config-input-password").val(); |
137 | 146 | if(password != ''){ |
138 | 147 | $("#loginbuttontip").text("Signing in using password ...."); |
|
145 | 154 | } |
146 | 155 | } |
147 | 156 |
|
148 | | - var showLoginButton = function() { |
| 157 | + let showLoginButton = function() { |
149 | 158 | let session = $("#node-config-input-session").val(); |
150 | 159 | if(session === ''){ |
151 | 160 | $("#loginpanel").show(); |
|
208 | 217 | <input type="text" id="node-config-input-apihash" placeholder="(Enter the hash here)"> |
209 | 218 | </div> |
210 | 219 | <div class="form-tips" style="width: auto"><b>Tip:</b> If you don't have an application ID yet, you can create a new one here: <a href="https://my.telegram.org/auth">Telegram</a>.</div> |
211 | | - </div> |
| 220 | + |
| 221 | + <!-- optional client configuration parameters --> |
| 222 | + <div class="form-row"> |
| 223 | + <label for="node-config-input-devicemodel"><i class="fa fa-caret-right"></i> Device Model</label> |
| 224 | + <input type="text" id="node-config-input-devicemodel" placeholder="(Optional: device model)"> |
| 225 | + </div> |
| 226 | + <div class="form-row"> |
| 227 | + <label for="node-config-input-systemversion"><i class="fa fa-caret-right"></i> System Version</label> |
| 228 | + <input type="text" id="node-config-input-systemversion" placeholder="(Optional: system version)"> |
| 229 | + </div> |
| 230 | + <div class="form-row"> |
| 231 | + <label for="node-config-input-appversion"><i class="fa fa-caret-right"></i> App Version</label> |
| 232 | + <input type="text" id="node-config-input-appversion" placeholder="(Optional: app version)"> |
| 233 | + </div> |
| 234 | + </div> |
212 | 235 |
|
213 | 236 | <div class="form-row"> |
214 | 237 | <div class="form-row"> |
|
239 | 262 | <hr align="middle"/> |
240 | 263 | </div> |
241 | 264 |
|
242 | | - <hr align="middle"/> |
| 265 | + <hr align="middle"/> |
243 | 266 |
|
244 | 267 | <div class="form-row"> |
245 | 268 | <label for="node-config-input-useproxy"><i class="fa fa-lock"></i> Use Proxy</label> |
|
0 commit comments