koishi-plugin-tmp-bot 1.8.1 → 1.8.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/index.js CHANGED
@@ -8,7 +8,6 @@ const tmpServer = require('./command/tmpServer');
8
8
  const tmpBind = require('./command/tmpBind');
9
9
  const tmpTraffic = require('./command/tmpTraffic/tmpTraffic');
10
10
  const tmpPosition = require('./command/tmpPosition');
11
- const likeMe = require('./command/likeMe');
12
11
  exports.name = 'tmp-bot';
13
12
  exports.inject = {
14
13
  required: ['database'],
@@ -38,6 +37,5 @@ function apply(ctx, cfg) {
38
37
  ctx.command('tmpbind <tmpId>').action(async ({ session }, tmpId) => await tmpBind(ctx, cfg, session, tmpId));
39
38
  ctx.command('tmptraffic <serverName>').action(async ({ session }, serverName) => await tmpTraffic(ctx, cfg, serverName));
40
39
  ctx.command('tmpposition <tmpId>').action(async ({ session }, tmpId) => await tmpPosition(ctx, cfg, session, tmpId));
41
- ctx.command('likeme').action(async ({ session }) => await likeMe(session));
42
40
  }
43
41
  exports.apply = apply;
@@ -1,9 +1,9 @@
1
- /*
2
- * heatmap.js v2.0.2 | JavaScript Heatmap Library
3
- *
4
- * Copyright 2008-2016 Patrick Wied <heatmapjs@patrick-wied.at> - All rights reserved.
5
- * Dual licensed under MIT and Beerware license
6
- *
7
- * :: 2016-02-04 21:25
8
- */
1
+ /*
2
+ * heatmap.js v2.0.2 | JavaScript Heatmap Library
3
+ *
4
+ * Copyright 2008-2016 Patrick Wied <heatmapjs@patrick-wied.at> - All rights reserved.
5
+ * Dual licensed under MIT and Beerware license
6
+ *
7
+ * :: 2016-02-04 21:25
8
+ */
9
9
  (function (a, b, c) { if (typeof module !== "undefined" && module.exports) { module.exports = c() } else if (typeof define === "function" && define.amd) { define(c) } else { b[a] = c() } })("h337", this, function () { var a = { defaultRadius: 40, defaultRenderer: "canvas2d", defaultGradient: { .25: "rgb(0,0,255)", .55: "rgb(0,255,0)", .85: "yellow", 1: "rgb(255,0,0)" }, defaultMaxOpacity: 1, defaultMinOpacity: 0, defaultBlur: .85, defaultXField: "x", defaultYField: "y", defaultValueField: "value", plugins: {} }; var b = function h() { var b = function d(a) { this._coordinator = {}; this._data = []; this._radi = []; this._min = 0; this._max = 1; this._xField = a["xField"] || a.defaultXField; this._yField = a["yField"] || a.defaultYField; this._valueField = a["valueField"] || a.defaultValueField; if (a["radius"]) { this._cfgRadius = a["radius"] } }; var c = a.defaultRadius; b.prototype = { _organiseData: function (a, b) { var d = a[this._xField]; var e = a[this._yField]; var f = this._radi; var g = this._data; var h = this._max; var i = this._min; var j = a[this._valueField] || 1; var k = a.radius || this._cfgRadius || c; if (!g[d]) { g[d] = []; f[d] = [] } if (!g[d][e]) { g[d][e] = j; f[d][e] = k } else { g[d][e] += j } if (g[d][e] > h) { if (!b) { this._max = g[d][e] } else { this.setDataMax(g[d][e]) } return false } else { return { x: d, y: e, value: j, radius: k, min: i, max: h } } }, _unOrganizeData: function () { var a = []; var b = this._data; var c = this._radi; for (var d in b) { for (var e in b[d]) { a.push({ x: d, y: e, radius: c[d][e], value: b[d][e] }) } } return { min: this._min, max: this._max, data: a } }, _onExtremaChange: function () { this._coordinator.emit("extremachange", { min: this._min, max: this._max }) }, addData: function () { if (arguments[0].length > 0) { var a = arguments[0]; var b = a.length; while (b--) { this.addData.call(this, a[b]) } } else { var c = this._organiseData(arguments[0], true); if (c) { this._coordinator.emit("renderpartial", { min: this._min, max: this._max, data: [c] }) } } return this }, setData: function (a) { var b = a.data; var c = b.length; this._data = []; this._radi = []; for (var d = 0; d < c; d++) { this._organiseData(b[d], false) } this._max = a.max; this._min = a.min || 0; this._onExtremaChange(); this._coordinator.emit("renderall", this._getInternalData()); return this }, removeData: function () { }, setDataMax: function (a) { this._max = a; this._onExtremaChange(); this._coordinator.emit("renderall", this._getInternalData()); return this }, setDataMin: function (a) { this._min = a; this._onExtremaChange(); this._coordinator.emit("renderall", this._getInternalData()); return this }, setCoordinator: function (a) { this._coordinator = a }, _getInternalData: function () { return { max: this._max, min: this._min, data: this._data, radi: this._radi } }, getData: function () { return this._unOrganizeData() } }; return b }(); var c = function i() { var a = function (a) { var b = a.gradient || a.defaultGradient; var c = document.createElement("canvas"); var d = c.getContext("2d"); c.width = 256; c.height = 1; var e = d.createLinearGradient(0, 0, 256, 1); for (var f in b) { e.addColorStop(f, b[f]) } d.fillStyle = e; d.fillRect(0, 0, 256, 1); return d.getImageData(0, 0, 256, 1).data }; var b = function (a, b) { var c = document.createElement("canvas"); var d = c.getContext("2d"); var e = a; var f = a; c.width = c.height = a * 2; if (b == 1) { d.beginPath(); d.arc(e, f, a, 0, 2 * Math.PI, false); d.fillStyle = "rgba(0,0,0,1)"; d.fill() } else { var g = d.createRadialGradient(e, f, a * b, e, f, a); g.addColorStop(0, "rgba(0,0,0,1)"); g.addColorStop(1, "rgba(0,0,0,0)"); d.fillStyle = g; d.fillRect(0, 0, 2 * a, 2 * a) } return c }; var c = function (a) { var b = []; var c = a.min; var d = a.max; var e = a.radi; var a = a.data; var f = Object.keys(a); var g = f.length; while (g--) { var h = f[g]; var i = Object.keys(a[h]); var j = i.length; while (j--) { var k = i[j]; var l = a[h][k]; var m = e[h][k]; b.push({ x: h, y: k, value: l, radius: m }) } } return { min: c, max: d, data: b } }; function d(b) { var c = b.container; var d = this.shadowCanvas = document.createElement("canvas"); var e = this.canvas = b.canvas || document.createElement("canvas"); var f = this._renderBoundaries = [1e4, 1e4, 0, 0]; var g = getComputedStyle(b.container) || {}; e.className = "heatmap-canvas"; this._width = e.width = d.width = b.width || +g.width.replace(/px/, ""); this._height = e.height = d.height = b.height || +g.height.replace(/px/, ""); this.shadowCtx = d.getContext("2d"); this.ctx = e.getContext("2d"); e.style.cssText = d.style.cssText = "position:absolute;left:0;top:0;"; c.style.position = "relative"; c.appendChild(e); this._palette = a(b); this._templates = {}; this._setStyles(b) } d.prototype = { renderPartial: function (a) { if (a.data.length > 0) { this._drawAlpha(a); this._colorize() } }, renderAll: function (a) { this._clear(); if (a.data.length > 0) { this._drawAlpha(c(a)); this._colorize() } }, _updateGradient: function (b) { this._palette = a(b) }, updateConfig: function (a) { if (a["gradient"]) { this._updateGradient(a) } this._setStyles(a) }, setDimensions: function (a, b) { this._width = a; this._height = b; this.canvas.width = this.shadowCanvas.width = a; this.canvas.height = this.shadowCanvas.height = b }, _clear: function () { this.shadowCtx.clearRect(0, 0, this._width, this._height); this.ctx.clearRect(0, 0, this._width, this._height) }, _setStyles: function (a) { this._blur = a.blur == 0 ? 0 : a.blur || a.defaultBlur; if (a.backgroundColor) { this.canvas.style.backgroundColor = a.backgroundColor } this._width = this.canvas.width = this.shadowCanvas.width = a.width || this._width; this._height = this.canvas.height = this.shadowCanvas.height = a.height || this._height; this._opacity = (a.opacity || 0) * 255; this._maxOpacity = (a.maxOpacity || a.defaultMaxOpacity) * 255; this._minOpacity = (a.minOpacity || a.defaultMinOpacity) * 255; this._useGradientOpacity = !!a.useGradientOpacity }, _drawAlpha: function (a) { var c = this._min = a.min; var d = this._max = a.max; var a = a.data || []; var e = a.length; var f = 1 - this._blur; while (e--) { var g = a[e]; var h = g.x; var i = g.y; var j = g.radius; var k = Math.min(g.value, d); var l = h - j; var m = i - j; var n = this.shadowCtx; var o; if (!this._templates[j]) { this._templates[j] = o = b(j, f) } else { o = this._templates[j] } var p = (k - c) / (d - c); n.globalAlpha = p < .01 ? .01 : p; n.drawImage(o, l, m); if (l < this._renderBoundaries[0]) { this._renderBoundaries[0] = l } if (m < this._renderBoundaries[1]) { this._renderBoundaries[1] = m } if (l + 2 * j > this._renderBoundaries[2]) { this._renderBoundaries[2] = l + 2 * j } if (m + 2 * j > this._renderBoundaries[3]) { this._renderBoundaries[3] = m + 2 * j } } }, _colorize: function () { var a = this._renderBoundaries[0]; var b = this._renderBoundaries[1]; var c = this._renderBoundaries[2] - a; var d = this._renderBoundaries[3] - b; var e = this._width; var f = this._height; var g = this._opacity; var h = this._maxOpacity; var i = this._minOpacity; var j = this._useGradientOpacity; if (a < 0) { a = 0 } if (b < 0) { b = 0 } if (a + c > e) { c = e - a } if (b + d > f) { d = f - b } var k = this.shadowCtx.getImageData(a, b, c, d); var l = k.data; var m = l.length; var n = this._palette; for (var o = 3; o < m; o += 4) { var p = l[o]; var q = p * 4; if (!q) { continue } var r; if (g > 0) { r = g } else { if (p < h) { if (p < i) { r = i } else { r = p } } else { r = h } } l[o - 3] = n[q]; l[o - 2] = n[q + 1]; l[o - 1] = n[q + 2]; l[o] = j ? n[q + 3] : r } k.data = l; this.ctx.putImageData(k, a, b); this._renderBoundaries = [1e3, 1e3, 0, 0] }, getValueAt: function (a) { var b; var c = this.shadowCtx; var d = c.getImageData(a.x, a.y, 1, 1); var e = d.data[3]; var f = this._max; var g = this._min; b = Math.abs(f - g) * (e / 255) >> 0; return b }, getDataURL: function () { return this.canvas.toDataURL() } }; return d }(); var d = function j() { var b = false; if (a["defaultRenderer"] === "canvas2d") { b = c } return b }(); var e = { merge: function () { var a = {}; var b = arguments.length; for (var c = 0; c < b; c++) { var d = arguments[c]; for (var e in d) { a[e] = d[e] } } return a } }; var f = function k() { var c = function h() { function a() { this.cStore = {} } a.prototype = { on: function (a, b, c) { var d = this.cStore; if (!d[a]) { d[a] = [] } d[a].push(function (a) { return b.call(c, a) }) }, emit: function (a, b) { var c = this.cStore; if (c[a]) { var d = c[a].length; for (var e = 0; e < d; e++) { var f = c[a][e]; f(b) } } } }; return a }(); var f = function (a) { var b = a._renderer; var c = a._coordinator; var d = a._store; c.on("renderpartial", b.renderPartial, b); c.on("renderall", b.renderAll, b); c.on("extremachange", function (b) { a._config.onExtremaChange && a._config.onExtremaChange({ min: b.min, max: b.max, gradient: a._config["gradient"] || a._config["defaultGradient"] }) }); d.setCoordinator(c) }; function g() { var g = this._config = e.merge(a, arguments[0] || {}); this._coordinator = new c; if (g["plugin"]) { var h = g["plugin"]; if (!a.plugins[h]) { throw new Error("Plugin '" + h + "' not found. Maybe it was not registered.") } else { var i = a.plugins[h]; this._renderer = new i.renderer(g); this._store = new i.store(g) } } else { this._renderer = new d(g); this._store = new b(g) } f(this) } g.prototype = { addData: function () { this._store.addData.apply(this._store, arguments); return this }, removeData: function () { this._store.removeData && this._store.removeData.apply(this._store, arguments); return this }, setData: function () { this._store.setData.apply(this._store, arguments); return this }, setDataMax: function () { this._store.setDataMax.apply(this._store, arguments); return this }, setDataMin: function () { this._store.setDataMin.apply(this._store, arguments); return this }, configure: function (a) { this._config = e.merge(this._config, a); this._renderer.updateConfig(this._config); this._coordinator.emit("renderall", this._store._getInternalData()); return this }, repaint: function () { this._coordinator.emit("renderall", this._store._getInternalData()); return this }, getData: function () { return this._store.getData() }, getDataURL: function () { return this._renderer.getDataURL() }, getValueAt: function (a) { if (this._store.getValueAt) { return this._store.getValueAt(a) } else if (this._renderer.getValueAt) { return this._renderer.getValueAt(a) } else { return null } } }; return g }(); var g = { create: function (a) { return new f(a) }, register: function (b, c) { a.plugins[b] = c } }; return g });
@@ -1,246 +1,246 @@
1
- /*
2
- * Leaflet Heatmap Overlay
3
- *
4
- * Copyright (c) 2008-2016, Patrick Wied (https://www.patrick-wied.at)
5
- * Dual-licensed under the MIT (http://www.opensource.org/licenses/mit-license.php)
6
- * and the Beerware (http://en.wikipedia.org/wiki/Beerware) license.
7
- */
8
- ; (function (name, context, factory) {
9
- // Supports UMD. AMD, CommonJS/Node.js and browser context
10
- if (typeof module !== "undefined" && module.exports) {
11
- module.exports = factory(
12
- require('heatmap.js'),
13
- require('leaflet')
14
- );
15
- } else if (typeof define === "function" && define.amd) {
16
- define(['heatmap.js', 'leaflet'], factory);
17
- } else {
18
- // browser globals
19
- if (typeof window.h337 === 'undefined') {
20
- throw new Error('heatmap.js must be loaded before the leaflet heatmap plugin');
21
- }
22
- if (typeof window.L === 'undefined') {
23
- throw new Error('Leaflet must be loaded before the leaflet heatmap plugin');
24
- }
25
- context[name] = factory(window.h337, window.L);
26
- }
27
-
28
- })("HeatmapOverlay", this, function (h337, L) {
29
- 'use strict';
30
-
31
- // Leaflet < 0.8 compatibility
32
- if (typeof L.Layer === 'undefined') {
33
- L.Layer = L.Class;
34
- }
35
-
36
- var HeatmapOverlay = L.Layer.extend({
37
-
38
- initialize: function (config) {
39
- this.cfg = config;
40
- this._el = L.DomUtil.create('div', 'leaflet-zoom-hide');
41
- this._data = [];
42
- this._max = 1;
43
- this._min = 0;
44
- this.cfg.container = this._el;
45
- },
46
-
47
- onAdd: function (map) {
48
- var size = map.getSize();
49
-
50
- this._map = map;
51
-
52
- this._width = size.x;
53
- this._height = size.y;
54
-
55
- this._el.style.width = size.x + 'px';
56
- this._el.style.height = size.y + 'px';
57
- this._el.style.position = 'absolute';
58
-
59
- this._origin = this._map.layerPointToLatLng(new L.Point(0, 0));
60
-
61
- map.getPanes().overlayPane.appendChild(this._el);
62
-
63
- if (!this._heatmap) {
64
- this._heatmap = h337.create(this.cfg);
65
- }
66
-
67
- // this resets the origin and redraws whenever
68
- // the zoom changed or the map has been moved
69
- map.on('moveend', this._reset, this);
70
- this._draw();
71
- },
72
-
73
- addTo: function (map) {
74
- map.addLayer(this);
75
- return this;
76
- },
77
-
78
- onRemove: function (map) {
79
- // remove layer's DOM elements and listeners
80
- map.getPanes().overlayPane.removeChild(this._el);
81
-
82
- map.off('moveend', this._reset, this);
83
- },
84
- _draw: function () {
85
- if (!this._map) { return; }
86
-
87
- var mapPane = this._map.getPanes().mapPane;
88
- var point = mapPane._leaflet_pos;
89
-
90
- // reposition the layer
91
- this._el.style[HeatmapOverlay.CSS_TRANSFORM] = 'translate(' +
92
- -Math.round(point.x) + 'px,' +
93
- -Math.round(point.y) + 'px)';
94
-
95
- this._update();
96
- },
97
- _update: function () {
98
- var bounds, zoom, scale;
99
- var generatedData = { max: this._max, min: this._min, data: [] };
100
-
101
- bounds = this._map.getBounds();
102
- zoom = this._map.getZoom();
103
- scale = Math.pow(2, zoom);
104
-
105
- if (this._data.length == 0) {
106
- if (this._heatmap) {
107
- this._heatmap.setData(generatedData);
108
- }
109
- return;
110
- }
111
-
112
-
113
- var latLngPoints = [];
114
- var radiusMultiplier = this.cfg.scaleRadius ? scale : 1;
115
- var localMax = 0;
116
- var localMin = 0;
117
- var valueField = this.cfg.valueField;
118
- var len = this._data.length;
119
-
120
- while (len--) {
121
- var entry = this._data[len];
122
- var value = entry[valueField];
123
- var latlng = entry.latlng;
124
-
125
-
126
- // we don't wanna render points that are not even on the map ;-)
127
- if (!bounds.contains(latlng)) {
128
- continue;
129
- }
130
- // local max is the maximum within current bounds
131
- localMax = Math.max(value, localMax);
132
- localMin = Math.min(value, localMin);
133
-
134
- var point = this._map.latLngToContainerPoint(latlng);
135
- var latlngPoint = { x: Math.round(point.x), y: Math.round(point.y) };
136
- latlngPoint[valueField] = value;
137
-
138
- var radius;
139
-
140
- if (entry.radius) {
141
- radius = entry.radius * radiusMultiplier;
142
- } else {
143
- radius = (this.cfg.radius || 2) * radiusMultiplier;
144
- }
145
- latlngPoint.radius = radius;
146
- latLngPoints.push(latlngPoint);
147
- }
148
- if (this.cfg.useLocalExtrema) {
149
- generatedData.max = localMax;
150
- generatedData.min = localMin;
151
- }
152
-
153
- generatedData.data = latLngPoints;
154
-
155
- this._heatmap.setData(generatedData);
156
- },
157
- setData: function (data) {
158
- this._max = data.max || this._max;
159
- this._min = data.min || this._min;
160
- var latField = this.cfg.latField || 'lat';
161
- var lngField = this.cfg.lngField || 'lng';
162
- var valueField = this.cfg.valueField || 'value';
163
-
164
- // transform data to latlngs
165
- var data = data.data;
166
- var len = data.length;
167
- var d = [];
168
-
169
- while (len--) {
170
- var entry = data[len];
171
- var latlng = new L.LatLng(entry[latField], entry[lngField]);
172
- var dataObj = { latlng: latlng };
173
- dataObj[valueField] = entry[valueField];
174
- if (entry.radius) {
175
- dataObj.radius = entry.radius;
176
- }
177
- d.push(dataObj);
178
- }
179
- this._data = d;
180
-
181
- this._draw();
182
- },
183
- // experimential... not ready.
184
- addData: function (pointOrArray) {
185
- if (pointOrArray.length > 0) {
186
- var len = pointOrArray.length;
187
- while (len--) {
188
- this.addData(pointOrArray[len]);
189
- }
190
- } else {
191
- var latField = this.cfg.latField || 'lat';
192
- var lngField = this.cfg.lngField || 'lng';
193
- var valueField = this.cfg.valueField || 'value';
194
- var entry = pointOrArray;
195
- var latlng = new L.LatLng(entry[latField], entry[lngField]);
196
- var dataObj = { latlng: latlng };
197
-
198
- dataObj[valueField] = entry[valueField];
199
- this._max = Math.max(this._max, dataObj[valueField]);
200
- this._min = Math.min(this._min, dataObj[valueField]);
201
-
202
- if (entry.radius) {
203
- dataObj.radius = entry.radius;
204
- }
205
- this._data.push(dataObj);
206
- this._draw();
207
- }
208
- },
209
- _reset: function () {
210
- this._origin = this._map.layerPointToLatLng(new L.Point(0, 0));
211
-
212
- var size = this._map.getSize();
213
- if (this._width !== size.x || this._height !== size.y) {
214
- this._width = size.x;
215
- this._height = size.y;
216
-
217
- this._el.style.width = this._width + 'px';
218
- this._el.style.height = this._height + 'px';
219
-
220
- this._heatmap._renderer.setDimensions(this._width, this._height);
221
- }
222
- this._draw();
223
- }
224
- });
225
-
226
- HeatmapOverlay.CSS_TRANSFORM = (function () {
227
- var div = document.createElement('div');
228
- var props = [
229
- 'transform',
230
- 'WebkitTransform',
231
- 'MozTransform',
232
- 'OTransform',
233
- 'msTransform'
234
- ];
235
-
236
- for (var i = 0; i < props.length; i++) {
237
- var prop = props[i];
238
- if (div.style[prop] !== undefined) {
239
- return prop;
240
- }
241
- }
242
- return props[0];
243
- })();
244
-
245
- return HeatmapOverlay;
1
+ /*
2
+ * Leaflet Heatmap Overlay
3
+ *
4
+ * Copyright (c) 2008-2016, Patrick Wied (https://www.patrick-wied.at)
5
+ * Dual-licensed under the MIT (http://www.opensource.org/licenses/mit-license.php)
6
+ * and the Beerware (http://en.wikipedia.org/wiki/Beerware) license.
7
+ */
8
+ ; (function (name, context, factory) {
9
+ // Supports UMD. AMD, CommonJS/Node.js and browser context
10
+ if (typeof module !== "undefined" && module.exports) {
11
+ module.exports = factory(
12
+ require('heatmap.js'),
13
+ require('leaflet')
14
+ );
15
+ } else if (typeof define === "function" && define.amd) {
16
+ define(['heatmap.js', 'leaflet'], factory);
17
+ } else {
18
+ // browser globals
19
+ if (typeof window.h337 === 'undefined') {
20
+ throw new Error('heatmap.js must be loaded before the leaflet heatmap plugin');
21
+ }
22
+ if (typeof window.L === 'undefined') {
23
+ throw new Error('Leaflet must be loaded before the leaflet heatmap plugin');
24
+ }
25
+ context[name] = factory(window.h337, window.L);
26
+ }
27
+
28
+ })("HeatmapOverlay", this, function (h337, L) {
29
+ 'use strict';
30
+
31
+ // Leaflet < 0.8 compatibility
32
+ if (typeof L.Layer === 'undefined') {
33
+ L.Layer = L.Class;
34
+ }
35
+
36
+ var HeatmapOverlay = L.Layer.extend({
37
+
38
+ initialize: function (config) {
39
+ this.cfg = config;
40
+ this._el = L.DomUtil.create('div', 'leaflet-zoom-hide');
41
+ this._data = [];
42
+ this._max = 1;
43
+ this._min = 0;
44
+ this.cfg.container = this._el;
45
+ },
46
+
47
+ onAdd: function (map) {
48
+ var size = map.getSize();
49
+
50
+ this._map = map;
51
+
52
+ this._width = size.x;
53
+ this._height = size.y;
54
+
55
+ this._el.style.width = size.x + 'px';
56
+ this._el.style.height = size.y + 'px';
57
+ this._el.style.position = 'absolute';
58
+
59
+ this._origin = this._map.layerPointToLatLng(new L.Point(0, 0));
60
+
61
+ map.getPanes().overlayPane.appendChild(this._el);
62
+
63
+ if (!this._heatmap) {
64
+ this._heatmap = h337.create(this.cfg);
65
+ }
66
+
67
+ // this resets the origin and redraws whenever
68
+ // the zoom changed or the map has been moved
69
+ map.on('moveend', this._reset, this);
70
+ this._draw();
71
+ },
72
+
73
+ addTo: function (map) {
74
+ map.addLayer(this);
75
+ return this;
76
+ },
77
+
78
+ onRemove: function (map) {
79
+ // remove layer's DOM elements and listeners
80
+ map.getPanes().overlayPane.removeChild(this._el);
81
+
82
+ map.off('moveend', this._reset, this);
83
+ },
84
+ _draw: function () {
85
+ if (!this._map) { return; }
86
+
87
+ var mapPane = this._map.getPanes().mapPane;
88
+ var point = mapPane._leaflet_pos;
89
+
90
+ // reposition the layer
91
+ this._el.style[HeatmapOverlay.CSS_TRANSFORM] = 'translate(' +
92
+ -Math.round(point.x) + 'px,' +
93
+ -Math.round(point.y) + 'px)';
94
+
95
+ this._update();
96
+ },
97
+ _update: function () {
98
+ var bounds, zoom, scale;
99
+ var generatedData = { max: this._max, min: this._min, data: [] };
100
+
101
+ bounds = this._map.getBounds();
102
+ zoom = this._map.getZoom();
103
+ scale = Math.pow(2, zoom);
104
+
105
+ if (this._data.length == 0) {
106
+ if (this._heatmap) {
107
+ this._heatmap.setData(generatedData);
108
+ }
109
+ return;
110
+ }
111
+
112
+
113
+ var latLngPoints = [];
114
+ var radiusMultiplier = this.cfg.scaleRadius ? scale : 1;
115
+ var localMax = 0;
116
+ var localMin = 0;
117
+ var valueField = this.cfg.valueField;
118
+ var len = this._data.length;
119
+
120
+ while (len--) {
121
+ var entry = this._data[len];
122
+ var value = entry[valueField];
123
+ var latlng = entry.latlng;
124
+
125
+
126
+ // we don't wanna render points that are not even on the map ;-)
127
+ if (!bounds.contains(latlng)) {
128
+ continue;
129
+ }
130
+ // local max is the maximum within current bounds
131
+ localMax = Math.max(value, localMax);
132
+ localMin = Math.min(value, localMin);
133
+
134
+ var point = this._map.latLngToContainerPoint(latlng);
135
+ var latlngPoint = { x: Math.round(point.x), y: Math.round(point.y) };
136
+ latlngPoint[valueField] = value;
137
+
138
+ var radius;
139
+
140
+ if (entry.radius) {
141
+ radius = entry.radius * radiusMultiplier;
142
+ } else {
143
+ radius = (this.cfg.radius || 2) * radiusMultiplier;
144
+ }
145
+ latlngPoint.radius = radius;
146
+ latLngPoints.push(latlngPoint);
147
+ }
148
+ if (this.cfg.useLocalExtrema) {
149
+ generatedData.max = localMax;
150
+ generatedData.min = localMin;
151
+ }
152
+
153
+ generatedData.data = latLngPoints;
154
+
155
+ this._heatmap.setData(generatedData);
156
+ },
157
+ setData: function (data) {
158
+ this._max = data.max || this._max;
159
+ this._min = data.min || this._min;
160
+ var latField = this.cfg.latField || 'lat';
161
+ var lngField = this.cfg.lngField || 'lng';
162
+ var valueField = this.cfg.valueField || 'value';
163
+
164
+ // transform data to latlngs
165
+ var data = data.data;
166
+ var len = data.length;
167
+ var d = [];
168
+
169
+ while (len--) {
170
+ var entry = data[len];
171
+ var latlng = new L.LatLng(entry[latField], entry[lngField]);
172
+ var dataObj = { latlng: latlng };
173
+ dataObj[valueField] = entry[valueField];
174
+ if (entry.radius) {
175
+ dataObj.radius = entry.radius;
176
+ }
177
+ d.push(dataObj);
178
+ }
179
+ this._data = d;
180
+
181
+ this._draw();
182
+ },
183
+ // experimential... not ready.
184
+ addData: function (pointOrArray) {
185
+ if (pointOrArray.length > 0) {
186
+ var len = pointOrArray.length;
187
+ while (len--) {
188
+ this.addData(pointOrArray[len]);
189
+ }
190
+ } else {
191
+ var latField = this.cfg.latField || 'lat';
192
+ var lngField = this.cfg.lngField || 'lng';
193
+ var valueField = this.cfg.valueField || 'value';
194
+ var entry = pointOrArray;
195
+ var latlng = new L.LatLng(entry[latField], entry[lngField]);
196
+ var dataObj = { latlng: latlng };
197
+
198
+ dataObj[valueField] = entry[valueField];
199
+ this._max = Math.max(this._max, dataObj[valueField]);
200
+ this._min = Math.min(this._min, dataObj[valueField]);
201
+
202
+ if (entry.radius) {
203
+ dataObj.radius = entry.radius;
204
+ }
205
+ this._data.push(dataObj);
206
+ this._draw();
207
+ }
208
+ },
209
+ _reset: function () {
210
+ this._origin = this._map.layerPointToLatLng(new L.Point(0, 0));
211
+
212
+ var size = this._map.getSize();
213
+ if (this._width !== size.x || this._height !== size.y) {
214
+ this._width = size.x;
215
+ this._height = size.y;
216
+
217
+ this._el.style.width = this._width + 'px';
218
+ this._el.style.height = this._height + 'px';
219
+
220
+ this._heatmap._renderer.setDimensions(this._width, this._height);
221
+ }
222
+ this._draw();
223
+ }
224
+ });
225
+
226
+ HeatmapOverlay.CSS_TRANSFORM = (function () {
227
+ var div = document.createElement('div');
228
+ var props = [
229
+ 'transform',
230
+ 'WebkitTransform',
231
+ 'MozTransform',
232
+ 'OTransform',
233
+ 'msTransform'
234
+ ];
235
+
236
+ for (var i = 0; i < props.length; i++) {
237
+ var prop = props[i];
238
+ if (div.style[prop] !== undefined) {
239
+ return prop;
240
+ }
241
+ }
242
+ return props[0];
243
+ })();
244
+
245
+ return HeatmapOverlay;
246
246
  });
package/package.json CHANGED
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "name": "koishi-plugin-tmp-bot",
3
- "description": "欧洲卡车模拟2 TMP查询机器人",
4
- "version": "1.8.1",
3
+ "description": "欧洲卡车模拟2 TMP查询插件,不会部署的可以直接使用此机器人 QQ:3523283907",
4
+ "version": "1.8.3",
5
5
  "main": "lib/index.js",
6
6
  "typings": "lib/index.d.ts",
7
- "homepage": "https://www.npmjs.com/package/koishi-plugin-tmp-bot",
7
+ "homepage": "https://github.com/79887143/koishi-plugin-tmp-bot",
8
8
  "files": [
9
9
  "lib",
10
10
  "dist"
package/readme.md CHANGED
@@ -6,66 +6,11 @@
6
6
 
7
7
  ---
8
8
  ## 指令说明
9
- ### tmpbind \<TMP ID\>
10
- 绑定 TMPID,绑定后使用其他指令时可省略输入 TMPID
11
-
12
- 使用示例:
13
-
14
- tmpbind 123
15
-
16
- ### tmpquery \<TMP ID\>
17
- 查询TMP玩家信息
18
-
19
- 使用示例:
20
-
21
- tmpquery 123
22
-
23
- tmpquery
24
-
25
- ### tmpposition \<TMP ID\>
26
- 查询玩家位置信息
27
-
28
- 使用示例:
29
-
30
- tmpposition 123
31
-
32
- tmpposition
33
-
34
- ### tmptraffic \<服务器简称\>
35
- 查询服务器热门地点路况信息,仅支持使用服务器简称查询,具体支持查询的服务器和服务器简称信息如下
36
- s1, s2, p, a
37
-
38
- |服务器名称|简称|
39
- |---|---|
40
- |Simulation 1|s1|
41
- |Simulation 2|s2|
42
- |ProMods|p|
43
- |Arcade|a|
44
-
45
- 使用示例:
46
-
47
- tmptraffic s1
48
-
49
- tmptraffic p
50
-
51
- ### tmpserverats
52
- 查询美卡服务信息列表
53
-
54
- 使用示例:
55
-
56
- tmpserverats
57
-
58
- ### tmpserverets
59
- 查询欧卡服务器信息列表
60
-
61
- 使用示例:
62
-
63
- tmpserverats
64
-
65
- ### likeme
66
- QQ名片点赞10次,只能在群内使用
67
- > 该指令仅支持 **OneBot** 适配方式,并且使用**正向WS**连接
68
-
69
- 使用示例:
70
-
71
- likeme
9
+ | 指令名称 | 指令介绍 | 使用示例 |
10
+ |--------------|---------------------------------------------------------------------------------------------------------------------------------------------|-----------------|
11
+ | tmpbind | 绑定 TMPID,绑定后使用其他指令时可省略输入 | tmpbind 123 |
12
+ | tmpquery | 查询TMP玩家信息 | tmpquery 123 |
13
+ | tmpposition | 查询玩家位置信息 | tmpposition 123 |
14
+ | tmptraffic | 查询服务器热门地点路况信息,仅支持使用服务器简称查询,具体支持查询的服务器和服务器简称信息如下</br>Simulation 1 (简称: s1)</br>Simulation 2 (简称: s2)</br>ProMods (简称: p)</br>Arcade (简称: a) | tmptraffic s1 |
15
+ | tmpserverats | 查询美卡服务器信息列表 | tmpserverats |
16
+ | tmpserverets | 查询欧卡服务器信息列表 | tmpserverets |
@@ -1,16 +0,0 @@
1
- module.exports = async (session) => {
2
- if (session.bot.platform !== 'onebot') {
3
- return '当前适配器不支持该功能'
4
- }
5
-
6
- // 构建 OneBot 点赞消息并发送
7
- let likeMeData = {
8
- action: 'send_like',
9
- params: {
10
- user_id: session.event.user.id,
11
- times: 10
12
- }
13
- }
14
- session.bot.adapter.socket.send(JSON.stringify(likeMeData))
15
- return '成功'
16
- }