我正在为我的不和谐机器人创建一个awaitMessages,以便在我的机器人上的虚拟商店中添加商品。在此awaitMessages中,我想指出文章的价格。所以答案必须是数字,但是问题是当我写的不是数字的答案时,awaitMessages被取消。我想当我发送的不是数字的消息时,它发送一条错误消息,但awaitMessages并没有取消,我再次写了一个响应。
const filter = m => m.author.id === message.author.id;
message.channel.send('Price').then(msg => {
message.channel.awaitMessages(filter, {
max: 1,
time: 10000,
errors: ['time'] })
.then(collected => {
if(isNaN(collected)) return message.channel.send('not a number')})
.catch(collected => msg.delete());
});
答案 0 :(得分:0)
您需要为过滤器添加条件。
#include <stdio.h>
#include <string.h>
int main(){
int count=0;
int n,bit;
char binary[50];
printf("Enter a binary: \n");
scanf("%s",binary);
n=strlen(binary);
for(int i=0;i<n;i++){
bit=binary[i]-'0';
if (bit==1){
count=count+1;
}
}
printf("Number of 1's: %d\n",count);
return 0;
}
这不会发送错误消息,但是不会触发您的收集器,因此在发送一个号码或时间用完之前不会停止尝试收集一个号码。