| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- // Zoho Cliq Plugin v1.0.0
- // Zoho Cliq chat/messaging integration (EU data center)
- var auth = require('./lib/auth');
- var cliq = require('./lib/cliq');
- shadowman.log.info('Zoho Cliq plugin v1.0.0 loaded');
- // Auth tools
- shadowman.tools.register('setup_auth', function(args, context) {
- shadowman.storage.set('auth_conversation_id', context.conversationId);
- return auth.setupAuth(args.grant_token);
- });
- shadowman.tools.register('auth_status', function(args, context) {
- return auth.getStatus();
- });
- // Chat tools
- shadowman.tools.register('list_chats', function(args, context) {
- var token = auth.getValidToken();
- if (!token) return { error: 'Not authenticated. Run setup_auth with a grant token first.' };
- return cliq.listChats(token);
- });
- shadowman.tools.register('list_channels', function(args, context) {
- var token = auth.getValidToken();
- if (!token) return { error: 'Not authenticated. Run setup_auth with a grant token first.' };
- return cliq.listChannels(token);
- });
- shadowman.tools.register('send_message', function(args, context) {
- var token = auth.getValidToken();
- if (!token) return { error: 'Not authenticated. Run setup_auth with a grant token first.' };
- if (!args.chat_id) return { error: 'Missing chat_id parameter' };
- if (!args.message) return { error: 'Missing message parameter' };
- return cliq.sendMessage(token, args.chat_id, args.message);
- });
- shadowman.tools.register('get_messages', function(args, context) {
- var token = auth.getValidToken();
- if (!token) return { error: 'Not authenticated. Run setup_auth with a grant token first.' };
- if (!args.chat_id) return { error: 'Missing chat_id parameter' };
- return cliq.getMessages(token, args.chat_id, args.index || 1);
- });
- shadowman.tools.register('post_to_channel', function(args, context) {
- var token = auth.getValidToken();
- if (!token) return { error: 'Not authenticated. Run setup_auth with a grant token first.' };
- if (!args.channel_name) return { error: 'Missing channel_name parameter' };
- if (!args.message) return { error: 'Missing message parameter' };
- return cliq.postToChannel(token, args.channel_name, args.message);
- });
|