Should remove username from /command@username messages in groups
This commit is contained in:
parent
5fd35f89c1
commit
794ef80520
@ -149,7 +149,7 @@ var Bot = (function (_EventEmitter) {
|
||||
*/
|
||||
value: function command(cmd, listener) {
|
||||
this._userEvents.push({
|
||||
pattern: new RegExp('/' + cmd),
|
||||
pattern: new RegExp('^/' + cmd),
|
||||
listener: listener
|
||||
});
|
||||
|
||||
@ -190,9 +190,11 @@ var Bot = (function (_EventEmitter) {
|
||||
var text = res.message.text;
|
||||
if (text.startsWith('/')) {
|
||||
// Commands are sent in /command@thisusername format in groups
|
||||
var regex = new RegExp('@' + _this2.info.username + '$');
|
||||
text = text.replace(regex, '');
|
||||
var regex = new RegExp('(/.*)@' + _this2.info.username);
|
||||
text = text.replace(regex, '$1');
|
||||
res.message.text = text;
|
||||
|
||||
console.log(res.message.text);
|
||||
}
|
||||
|
||||
var ev = _this2._userEvents.find(function (_ref) {
|
||||
@ -201,6 +203,7 @@ var Bot = (function (_EventEmitter) {
|
||||
});
|
||||
|
||||
if (!ev) {
|
||||
_this2.emit('command-notfound', res.message);
|
||||
return;
|
||||
}
|
||||
|
||||
|
2
demo.js
2
demo.js
@ -44,5 +44,5 @@ bot.command('start', message => {
|
||||
const test = new Message().text('Test Command');
|
||||
|
||||
bot.command('test', message => {
|
||||
bot.send(test.to(message.chat.id));
|
||||
bot.send(test.to(message.chat.id).text(message.text));
|
||||
});
|
||||
|
@ -142,16 +142,15 @@ export default class Bot extends EventEmitter {
|
||||
let text = res.message.text;
|
||||
if (text.startsWith('/')) {
|
||||
// Commands are sent in /command@thisusername format in groups
|
||||
const regex = new RegExp(`@${this.info.username}$`);
|
||||
text = text.replace(regex, '');
|
||||
const regex = new RegExp(`(/.*)@${this.info.username}`);
|
||||
text = text.replace(regex, '$1');
|
||||
res.message.text = text;
|
||||
|
||||
console.log(res.message.text);
|
||||
}
|
||||
|
||||
let ev = this._userEvents.find(({pattern}) => pattern.test(text));
|
||||
|
||||
if (!ev) {
|
||||
this.emit('command-notfound', res.message);
|
||||
return;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user