Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Demonstrate bot integrations #10174

Closed
timkinnane opened this issue Mar 20, 2018 · 18 comments
Closed

Demonstrate bot integrations #10174

timkinnane opened this issue Mar 20, 2018 · 18 comments

Comments

@timkinnane
Copy link
Contributor

timkinnane commented Mar 20, 2018

I have found a number of issues related to requests for either integrating existing bots or suggestions for new bot scripts that could be used in Hubot or webhook integrations.

These are all outside the scope of either bug or feature requests for Rocket.Chat, but I don't want to just carpet bomb the enthusiasm for bots on the platform, so I've created this issue to house the meta discussion for what kind of bots and interactions people want to be able to use in Rocket.Chat.

I'll post each suggestion as a comment and the community can vote on each with thumbs and hearts. If we get an idea of the really popular use cases, we could develop these bots as a tutorial piece for our docs and website content around bots.

There is potential for such a collection to evolve into an integration directory or marketplace.

@timkinnane
Copy link
Contributor Author

From @maxpen

Integrate this slack security bot its an FREE alternative to metacert

DBOT - Demisto Security Bot
https://github.com/demisto/alfred

@timkinnane
Copy link
Contributor Author

From @nickolasdeluca

can we write something that warns the user in case of unread messages after 5 minutes or something like that?

@timkinnane
Copy link
Contributor Author

From @arkayz

It would be pretty neat if there was a polling system in place where users/moderators can post poll questions and get feedback.

It would also be useful to have a way to post "official" questions where the replies would be displayed as a subthread to the question post, all in the chat.

and @rasos

Anybody tried with a bot like in Telegram? https://telegram-store.com/blog/telegram-polls/

@timkinnane
Copy link
Contributor Author

From @teamfighter

Could you implement some kind of email bot?

I.e. I am sending email to address [email protected], and this message is showing in specific channel.

@timkinnane
Copy link
Contributor Author

From @IQ2022

Is there a way to add a command or a feature that when someone types a message can automatically sent to another channel for records?

@timkinnane
Copy link
Contributor Author

From @Molle500

There should be a button (preferably in the gear wheel menu) where users can report a post.

I´m not 100% sure how the solution should work but my idea is: a new channel which only Moderators and Admins can access. There a bot (cat bot?) should post a text something like this.

@timkinnane
Copy link
Contributor Author

From @IQ2022

I see we have SMS in live chat, can this be setup for a room to post alerts to mobile numbers - users need to subscribe with numbers

and @designgurudotorg

Working SMS into the chat experience across the app would be amazing, and open up RC to a whole world of dumb phones (plus enable us to code bots to interact with SMS within chatrooms)...

@timkinnane
Copy link
Contributor Author

From @bott0r

It would be really fantastic to be able to create a bot that could first connected to spotify, lastfm, or something, and would reroute the audio signal from these services into a given channel, via webrtc, all other clients would not have the permission to speak(voice) in this channel, so connected people could listen to the generated audio signal, i.e. music

After that, the possibilities are endless, e.g. playlists and queues where people can add to the queue with a simple chat command such as @radiobot: add Michael Jackson Smooth Criminal or similar features.

@timkinnane
Copy link
Contributor Author

From @Sing-Li

Allow system bot user to create users from alien systems

For federation via matrix.org, XMPP integration, and better Slack integration compatibility...

@timkinnane
Copy link
Contributor Author

From @Sing-Li

Capture a "Message Flow" and send to Knowledge Base

In the DEMO room, knowledge is often shared by members that can be useful for others.

But once the message flow scrolls off screen - it is unlikely to be ever found again.

Implement a way to capture and send a message flow to - a knowledge-base, forum, or FAQ

@timkinnane
Copy link
Contributor Author

From @graywolf336

I use the /remind me command quite often. Maybe this is a command for Hubot but would be neat to have built into the core.

@timkinnane
Copy link
Contributor Author

From @dennis-f

i'd love to see Atlassin Jira integration

@rasos
Copy link
Contributor

rasos commented Mar 20, 2018

The proposed Telegram bot integration https://rocket.chat/docs/administrator-guides/integrations/telegram/ needs some improvement, it has a problem with emoji or sticker handling, see our notes: https://git.fairkom.net/chat/fairchat/issues/61 . And it does not support attachments yet.

@ma-karai
Copy link

ma-karai commented Mar 20, 2018

@rasos
Hey Roland, i wrote the terrible telegram bot/script, with 0 prior knowledge, which hasn't changed. however i made some updates to deal with some stuff.

Incoming:

class Script {
    process_incoming_request({ request }) {
        // UNCOMMENT THE BELOW LINE TO DEBUG IF NEEDED.
        console.log(request.content);
        if ('edited_message' in request.content) {
            request.content.message = request.content.edited_message;
        }
        let who = request.content.message.from.username
        let icon_url = '/avatar/' + request.content.message.from.username + '.jpg'
        if(!who)  {
          who = `${request.content.message.from.first_name} ${request.content.message.from.last_name}`
          icon_url = `/avatar/${request.content.message.from.first_name}.jpg`
        }
        let body = request.content.message.text
        //let photo = request.content.message.attachments.image_url

        //if(!body) {
        //  if(request.content.message.sticker.emoji) {
        //    // It's a sticker
        //    body = request.content.message.sticker.emoji
        //} else {
        //   return {}
        //  }
        //}

        if(request.content.message.sticker) {
          if(request.content.message.sticker.emoji) {
            // It's a sticker
            body = request.content.message.sticker.emoji
        } else {
           return {}
          }
        }
        if(request.content.message.document) {
          if(request.content.message.document) {
            // It's a gif
            body = 'I send a gif :)' 
        } else {
           return {}
          }
        }
        if(request.content.message.photo) {
          console.log(request.content.message.photo);
          if(request.content.message.photo[0]) {
            // It's a picture
            //// 'https://api.telegram.org/bot123/getFile?file_id=${request.content.message.photo[0].file_path}'
            //body = 'i uploaded a pic ' + ' ![photo]('+`https://api.telegram.org/file/bot123/${request.content.message.photo[0].file_path}`+')'
            body = 'i uploaded a pic'
            //body = 'https://api.telegram.org/file/bot123/'+`${request.content.message.photo[0].file_path}`
            //request.content.message.attachments.image_url = `https://api.telegram.org/file/bot4123/${request.content.message.photo[0].file_path}`
        } else {
           return {}
          }
        }
        if(request.content.message.video) {
          if(request.content.message.video.file_id) {
            // It's a video
            // works body = `https://api.telegram.org/file/bot123/${request.content.message.photo[0].file_path}`
            body = 'video upload'
            //request.content.message.attachments.image_url = `https://api.telegram.org/file/bot123/` + ${request.content.message.photo[0].file_path}
        } else {
           return {}
          }
        }
        return {
            content: {
                username: who,
                icon_url: icon_url,
                text: body
            }
        };
    }
}

it fixes stickies and similes and posts messages when someone uploads a video or picture like so.
I tried to update the wiki but wasn't allowed. I am also sure if someone of the RC crew would look at this we'd have a kick ass telegram integration.

@timkinnane
Copy link
Contributor Author

@bott0r You probably tried before the docs were moved to GitHub, now I think you should be able to edit that directly here: https://github.com/RocketChat/docs/blob/master/administrator-guides/integrations/telegram/README.md

Just hit the ✏️ and paste in that code, commit changes and it will submit a pull request so you'll be credited with the contribution.

@Sing-Li
Copy link
Member

Sing-Li commented Apr 25, 2019

This is a strange one. @timkinnane asked for ideas to demonstrate BOT but we received tons of Apps ideas. Have captured all App ideals in the feature-request repository as new issues.

Will be closing the base issue.

@Sing-Li Sing-Li closed this as completed Apr 25, 2019
@ma-karai
Copy link

Can you link the feature request repository

@marco-aa
Copy link

marco-aa commented Jul 7, 2019

Can you link the feature request repository

https://github.com/RocketChat/feature-requests/issues

for example RocketChat/feature-requests#94

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants