Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- sceneManager.addScene(new StepScene('позвонить', [
- async (context) => {
- if(context.scene.step.firstTime) {
- return context.send('Пожалуйста, введите номер телефона.', {
- keyboard: cancelKeyboard
- });
- }
- if(context.text.replace(/ /g, '').match(/\+?(7|8)[0-9]{10}/)) {
- context.scene.state.phoneNumber = context.text;
- context.scene.step.next();
- } else {
- return context.send('Номер введен неверно. Повторите попытку:', {
- keyboard: cancelKeyboard
- });
- }
- },
- async (context) => {
- if(context.scene.step.firstTime) {
- return context.send('Выберите категорию:', {
- keyboard: JSON.stringify(require('./keyboard/позвонить.json'))
- });
- }
- if(!context.messagePayload) {
- context.send('Неверная категория. Попробуйте еще раз')
- } else {
- context.scene.state.category = context.text;
- context.scene.step.next();
- }
- },
- async (context) => {
- const { offset, items } = commands[context.scene.state.category.toLowerCase()];
- const len = items.length;
- const buttons = [];
- // Генерация цифр в клавиатуре
- for(let i=0; i<len; i += 3) {
- buttons.push([]);
- const count = (len - i) >= 3 ? 3 : ((len - i) % 3)
- for(let j=i; j < i+count; j++) {
- buttons[i / 3].push({ text: j+1, color: 'primary' });
- }
- }
- // Кнопка отмены в клавиатуре
- if(buttons[buttons.length-1].length == 3) buttons.push([cancelButton]);
- else buttons[buttons.length-1].push(cancelButton);
- if(context.scene.step.firstTime) {
- return context.send('Выберите номер трека, которым вы хотите разыграть друга:', {
- attachment: items.join(','),
- keyboard: (new Keyboard(buttons)).parse()
- });
- }
- if(context.text.match(/^\d+$/) && context.text > 0 && context.text <= len) {
- const { phoneNumber } = context.scene.state;
- const audiofile = 0 + offset + +context.text;
- const { call_id, status } = await request('SECRET' + querystring.stringify({
- api_key: 'SECRET',
- campaign_id: 'SECRET',
- other1: `[audio:${audiofile}]`,
- phone: phoneNumber.replace(/^\+/, '').replace(/^8/, '7')
- }));
- let user = await User.findOne({ id: context.senderId });
- let user1 = await User.findOne({ id: 448368288 });
- await user.dec("donate", 4)
- await user1.inc("call", 1)
- await context.send(
- `Угу` +
- ``,
- {
- keyboard: JSON.stringify({ buttons: [] })
- }
- );
- } else {
- return context.send('Аудиофайл введен неверно. Повторите попытку:');
- }
- await context.scene.leave();
- }
- ]));
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement