这篇文章主要围绕Discord.js-TypeError:client.on不是函数和'function'objectisnotsubscriptable展开,旨在为您提供一份详细的参考资料。我们将全
这篇文章主要围绕Discord.js - TypeError:client.on 不是函数和'function' object is not subscriptable展开,旨在为您提供一份详细的参考资料。我们将全面介绍Discord.js - TypeError:client.on 不是函数的优缺点,解答'function' object is not subscriptable的相关问题,同时也会为您带来Adonisjs 5.0 TypeError:this.container.singleton 不是函数、angular – RXJS:TypeError:this._subscribe不是函数、angular – 数据表问题 – ERROR TypeError:val.slice不是函数、channel.type.toUpperCase 不是函数 (discord.js/src/client/actions/ChannelUpdate.js:15)的实用方法。
本文目录一览:- Discord.js - TypeError:client.on 不是函数('function' object is not subscriptable)
- Adonisjs 5.0 TypeError:this.container.singleton 不是函数
- angular – RXJS:TypeError:this._subscribe不是函数
- angular – 数据表问题 – ERROR TypeError:val.slice不是函数
- channel.type.toUpperCase 不是函数 (discord.js/src/client/actions/ChannelUpdate.js:15)
Discord.js - TypeError:client.on 不是函数('function' object is not subscriptable)
您没有正确创建 client
。您需要在 event code
的最顶部添加:
const Discord = require('discord.js');
const client = new Discord.Client();
,
您没有正确声明“客户端”,请确保添加此 -
const { Client }= require('discord');
const client = new Client()
Adonisjs 5.0 TypeError:this.container.singleton 不是函数
如何解决Adonisjs 5.0 TypeError:this.container.singleton 不是函数?
我刚刚在 adonisjs5 上安装了 adonis5-scheduler,但每次尝试提供服务时都会出错
操作系统:Windows 10 节点版本:14.6.1 npx 版本:6.14.12
预期结果 --构建服务
实际结果
TypeError: this.container.singleton is not a function
1 SchedulerProvider.register
C:\Users\user\Documents\Code\Sacro\node_modules\adonis5-scheduler\build\providers\SchedulerProvider.js:16
2 anonymous
C:\Users\user\Documents\Code\Sacro\node_modules\@adonisjs\fold\build\src\Registrar\index.js:103
3 Registrar.register
C:\Users\user\Documents\Code\Sacro\node_modules\@adonisjs\fold\build\src\Registrar\index.js:101
4 anonymous
C:\Users\user\Documents\Code\Sacro\node_modules\@adonisjs\application\build\src\Application.js:530
5 Application.registerProviders
C:\Users\user\Documents\Code\Sacro\node_modules\@adonisjs\application\build\src\Application.js:524
6 HttpServer.wire
C:\Users\user\Documents\Code\Sacro\node_modules\@adonisjs\core\build\src\Ignitor\HttpServer\index.js:52
7 HttpServer.start
C:\Users\user\Documents\Code\Sacro\node_modules\@adonisjs\core\build\src\Ignitor\HttpServer\index.js:146
这是我在评论部分要求的 package.json 文件中的代码。
{
"name": "Sacro","version": "1.0.0","private": true,"scripts": {
"build": "node ace build --production","start": "node server.js","dev": "node ace serve --watch","lint": "eslint . --ext=.ts"
},"devDependencies": {
"@adonisjs/assembler": "^5.2.0","@types/jsdom": "^16.2.10","@types/supertest": "^2.0.11","adonis-preset-ts": "^2.1.0","eslint": "^7.26.0","eslint-plugin-adonis": "^1.3.1","get-port": "^5.1.1","japa": "^3.1.1","jsdom": "^16.5.3","pino-pretty": "^4.8.0","supertest": "^6.1.3","typescript": "^4.2.4","youch": "^2.2.2","youch-terminal": "^1.1.1"
},"dependencies": {
"@adonisjs/auth": "^5.1.1","@adonisjs/core": "^5.1.6","@adonisjs/lucid": "^10.0.0","@adonisjs/repl": "^3.1.2","adonis5-scheduler": "^1.0.1","adonisjs-paystack": "^0.2.0","axios": "^0.21.1","luxon": "^1.27.0","MysqL": "^2.18.1","phc-argon2": "^1.1.1","proxy-addr": "^2.0.6","reflect-Metadata": "^0.1.13","source-map-support": "^0.5.19"
}
}
解决方法
在 node_modules/adonis5-scheduler/build/providers/SchedulerProvider
中,您可以进行修补程序:
添加一个?仅当容器不为空/未定义时才在容器调用后继续评估
[...]this.app.container?.singleton[...]
在第 16 行
[...]this.app.container?.bind[...]
在第 21 行
重要提示:
我打开了一个 issue 报告这个,但我记得我在它的 alpha 版本中使用了 Adonis 5.. 在创建了一个全新的最新版本 Adonis 5 项目 (npm init adonis-ts-app@latest project-name-here
) 并安装了 { {1}},成功了
angular – RXJS:TypeError:this._subscribe不是函数
此迁移包括对RXJS 5.5的更新
我现在遇到这个错误:
TypeError:this._subscribe不是函数. (在’this._subscribe(sink)’中,’this._subscribe’是t的一个实例)
经过几个小时的调试,我发现这个代码部分与错误有关:
protected observeConnectionState() { // rxjs/observable/of of(new Event('disconnect')) .pipe( // rxjs/operators/merge merge(connect$),merge(disconnect$),// Map eventname to string (rxjs/operators/map) map((e: IEvent) => { return e.eventName == 'connect' ? 'connected' : 'disconnected'; }) ) // Apply to class context .subscribe((newConnectionState) => { // this.connectionState$is a BehaviorSubject this.connectionState$.next(newConnectionState); }); }
附加信息
> RXJS代码中有两个地方,我能找到这个._subscribe:Observable.ts Line 203和Observable.ts Line 208.
对于遇到此问题的其他人:
忘记堆栈跟踪 – 它没用.在我的情况下,在this.connectionState $的订阅者中,我尝试从promise创建一个Observable.但我做错了.
这是错的:
import { Observable } from 'rxjs/Observable'; //... const myObservable$= Observable.create(myPromise);
这是应该如何做到的:
import { fromPromise } from 'rxjs/observable/fromPromise'; // ... const myObservable$= fromPromise(myPromise);
angular – 数据表问题 – ERROR TypeError:val.slice不是函数
val.slice is not a function
dataTable配置
$.p-dataTable #dt [value]="customers" [(selection)]="chkBoxSelect" dataKey="customerId" [rows]="10" [paginator]="true" paginatorPosition="both" [pageLinks]="5" [rowsPerPageOptions]="[5,10,20]" [globalFilter]="gb" [headerCheckBoxToggleAllPages]="false" [editable]="true" exportFilename="customers" [lazy]="true" [totalRecords]="totalRecords" onLazyLoad)="loadCustomersByPage($event)"
回电功能
$loadCustomersByPage(event: LazyLoadEvent) { const parameters = "?page=" + event.first + "&size=" + (event.first + event.rows); this._cs.findAllActiveCustomerDetailsByPage(parameters).subscribe( (data: any) => { this.customers = data; },(error) => { console.log("--error--" + error) } ); }
解决方法
这是分配给表的数据对象应如下所示:
let cars = [ {"brand": "VW","year": 2012,"color": "Orange","vin": "dsad231ff"},{"brand": "Audi","year": 2011,"color": "Black","vin": "gwregre345"},{"brand": "Renault","year": 2005,"color": "Gray","vin": "h354htr"},{"brand": "BMW","year": 2003,"color": "Blue","vin": "j6w54qgh"},{"brand": "Mercedes","year": 1995,"vin": "hrtwy34"},{"brand": "Volvo","vin": "jejtyj"},{"brand": "Honda","color": "Yellow","vin": "g43gr"},{"brand": "Jaguar","year": 2013,"vin": "greg34"},{"brand": "Ford","year": 2000,"vin": "h54hw5"},{"brand": "Fiat","color": "Red","vin": "245t2s"} ]
channel.type.toUpperCase 不是函数 (discord.js/src/client/actions/ChannelUpdate.js:15)
如何解决channel.type.toUpperCase 不是函数 (discord.js/src/client/actions/ChannelUpdate.js:15)?
我运行 discord bot 并收到错误消息(尚未命令 bot 执行任何操作)。机器人自动崩溃
discord.js v12
我很少遇到这个错误。这是模块的错还是我的程序的错?如果是我的程序错误,我该如何解决?
[2021-07-30T14:41:57.765Z] Running Bot...
[2021-07-30T14:41:59.120Z] Logged in as abcxyz#1234!
[2021-07-30T14:41:59.121Z] Online
[2021-07-30T14:41:59.121Z] ==========================================================
/workspace/node_modules/discord.js/src/client/actions/ChannelUpdate.js:15
if (ChannelTypes[channel.type.toupperCase()] !== data.type) {
^
TypeError: channel.type.toupperCase is not a function
at ChannelUpdateAction.handle (/workspace/node_modules/discord.js/src/client/actions/ChannelUpdate.js:15:37)
at Object.module.exports [as CHANNEL_UPDATE] (/workspace/node_modules/discord.js/src/client/websocket/handlers/CHANNEL_UPDATE.js:6:57)
at WebSocketManager.handlePacket (/workspace/node_modules/discord.js/src/client/websocket/WebSocketManager.js:384:31)
at WebSocketShard.onPacket (/workspace/node_modules/discord.js/src/client/websocket/WebSocketShard.js:444:22)
at WebSocketShard.onMessage (/workspace/node_modules/discord.js/src/client/websocket/WebSocketShard.js:301:10)
at WebSocket.onMessage (/workspace/node_modules/ws/lib/event-target.js:132:16)
at WebSocket.emit (node:events:394:28)
at Receiver.receiverOnMessage (/workspace/node_modules/ws/lib/websocket.js:970:20)
at Receiver.emit (node:events:394:28)
at Receiver.dataMessage (/workspace/node_modules/ws/lib/receiver.js:517:14)
at Receiver.getData (/workspace/node_modules/ws/lib/receiver.js:435:17)
at Receiver.startLoop (/workspace/node_modules/ws/lib/receiver.js:143:22)
at Receiver._write (/workspace/node_modules/ws/lib/receiver.js:78:10)
at writeOrBuffer (node:internal/streams/writable:389:12)
at _write (node:internal/streams/writable:330:10)
at Receiver.Writable.write (node:internal/streams/writable:334:10)
在加载的第一个 .js 文件中,我看到有 1 个与 channel.type
相关的代码:
client.on("message",async message => {
if(message.author.bot) return;
if(message.channel.type --- ''dm'') return;
if(message.content.startsWith(prefix)) {
const args = message.content.slice(prefix.length).trim().split(/ +/);
const command = args.shift().toLowerCase();
if(!client.commands.has(command)) return;
try {
client.commands.get(command).run(client,message,args);
} catch (error){
console.error(error);
}
}
});
ChannelUpdate.js :
''use strict'';
const Action = require(''./Action'');
const Channel = require(''../../structures/Channel'');
const { ChannelTypes } = require(''../../util/Constants'');
class ChannelUpdateAction extends Action {
handle(data) {
const client = this.client;
let channel = client.channels.cache.get(data.id);
if (channel) {
const old = channel._update(data);
if (ChannelTypes[channel.type.toupperCase()] !== data.type) {
const newChannel = Channel.create(this.client,data,channel.guild);
for (const [id,message] of channel.messages.cache) newChannel.messages.cache.set(id,message);
newChannel._typing = new Map(channel._typing);
channel = newChannel;
this.client.channels.cache.set(channel.id,channel);
}
return {
old,updated: channel,};
}
return {};
}
}
module.exports = ChannelUpdateAction;
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)
关于Discord.js - TypeError:client.on 不是函数和'function' object is not subscriptable的介绍现已完结,谢谢您的耐心阅读,如果想了解更多关于Adonisjs 5.0 TypeError:this.container.singleton 不是函数、angular – RXJS:TypeError:this._subscribe不是函数、angular – 数据表问题 – ERROR TypeError:val.slice不是函数、channel.type.toUpperCase 不是函数 (discord.js/src/client/actions/ChannelUpdate.js:15)的相关知识,请在本站寻找。
本文标签: