Forum

Results 1 to 13 of 13
  1. #1
    Join Date
    January 2016
    Posts
    7

    [Updated] Chat bot Mambo - IRC style bot for Teamspeak 3

    Please note, I am now the maintainer of this project. But this was originally authored by MrShankly
    I started this thread because I am unable to edit the original post that was made by MrShankly. I keep much of the same content here.

    Chat bot Mambo - IRC style bot for teamspeak 3

    Mambo is an IRC style bot for teamspeak 3 written in elixir. It's extensible via scripts/plugins (written in either erlang or elixir). This project aims to create a user-friendly and helpful bot for teamspeak 3 users.
    For more detailed information, visit the github page.

    Commands


    Note: bot commands are always prefixed by a dot '.'

    See the full list of commands here.
    Type .help or .help <option> for more info about the available scripts.

    Additional features

    When a url is written in the chat the bot replies with the webpage title. The bot will also answer a question you make directly to him.

    Demo:

    Name:  2155.png
Views: 1930
Size:  124.2 KB

    Installation


    The installation is not very straight forward (I will try to improve it), the following procedure should guide you through the installation process (windows, mac and linux), any question or problem just ask:

    Requirements:
    • Erlang (18.0 or later) - there are pre built packages in the Erlang Solutions Downloads page
    • Elixir - see here for installation instructions
    • ImageMagick if you plan to use the gif script
    • Server query login credentials
    • API key for last.fm, youtube, twitter and wolframalpha are required if you plan to use last.fm, youtube search and the ask/question scripts


    Installation:
    • Download the pre compiled binaries from https://github.com/Inouju/mambo/releases
    • Extract the zip
    • Open the command prompt and navigate to the directory where you extracted the files
    • Create a settings.json file, use settings.json.sample as a guide
    • To run the bot execute the following command:
      Code:
      elixir --detached --no-halt -S mix

    For more information about the settings.json file, or if you want to compile from source check this getting started.

    Important links




    Use this new thread, or the new github page for problems, requests, or anything else related to the bot. Thank you!

  2. #2
    Join Date
    August 2014
    Posts
    11

    i have an error

    take a look at this error:
    Code:
    ** Reason for termination == 
    ** {{badmatch,[]},
        [{'Elixir.Mambo.Bot',add_watchers,2,
                             [{file,"lib/mambo/bot.ex"},{line,193}]},
         {'Elixir.Mambo.Bot',handle_info,2,[{file,"lib/mambo/bot.ex"},{line,397}]},
         {gen_server,try_dispatch,4,[{file,"gen_server.erl"},{line,615}]},
         {gen_server,handle_msg,5,[{file,"gen_server.erl"},{line,681}]},
         {proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,240}]}]}
    
    =INFO REPORT==== 25-Jan-2016::12:00:38 ===
        application: mambo
        exited: shutdown
        type: temporary

  3. #3
    Join Date
    February 2012
    Location
    Germany
    Posts
    576
    @inouju:
    You require the latest & greatest elixir version 1.2, released only 3 weeks ago. Few people match this prerequisite.

    Please consider backporting the bot to Elixir to 0.12.5 / Erlang 16, because this is what is available in EPEL for CentOS 7. CentOS 7 is widely used by many vps providers, and it is next to impossible for a server admin to get more recent application frameworks onto such a machine.

  4. #4
    Join Date
    January 2016
    Posts
    7
    @PANNIKOLOV: Can I see your settings.json file?

    @Schlumpi: Thanks for letting me know! I'll try to get that working asap, though no promises as of yet.

    You could also try dowloading erlang 18+ from here, and compiling Elixir from here since there have been some backwards incompatible changes made to Elixir since its pre v1.0.0 releases.
    Last edited by inouju; January 25th, 2016 at 08:05 PM. Reason: Additional options

  5. #5
    Join Date
    February 2012
    Location
    Germany
    Posts
    576
    Compiling such a big framework myself and "make install" it onto my Linux server makes it less maintainable. I try to avoid raw installs as much as possible. There are already erlang+elixir packages available, so it's a waste of time to duplicate others' people work. If the available version is too old, then I'm out of luck. But I cannot invest time into compiling the prerequisites of a gadget that's only considered fun and "nice to have".

    If you backport mambo so that it will work on CentOS 7, I try to contribute by creating a rpm package (or better: the source *.spec file) for it, so it's a simple" yum install mambo-1.0.0.rpm" to install it, including a unit file for the service, and whatever else is required to run it automatically and unattended on that platform.

  6. #6
    Join Date
    August 2014
    Posts
    11

    settings file

    @inouju

    here you are:

    Code:
    {
      "name": "TestBot",
      "user": "serveradmin",
      "pass": "my pass here",
      "host": "83.212.117.145",
      "port": 10011,
      "bot_id": "1",
      "admins": ["done", "done"],
      "channels": "1,12",
      "scripts": [
        {"name": "Sux", "args": []},
        {"name": "Help", "args": []},
        {"name": "Admin", "args": []},
        {"name": "Benis", "args": []},
        {"name": "Utils", "args": []},
        {"name": "Title", "args": []},
        {"name": "Urban", "args": []},
        {"name": "Random", "args": []},
        {"name": "Google", "args": []},
        {"name": "Quotes", "args": []},
        {"name": "Rainbow", "args": []},
        {"name": "Private", "args": []},
        {"name": "Brainfuck", "args": []},
        {"name": "Eightball", "args": []},
        {"name": "Translate", "args": []},
        {"name": "Cannedreplies", "args": []},
        {"name": "Whatthecommit", "args": []},
        {"name": "Gif", "args": []},
        {"name": "Doge", "args": []},
      ]
    }

  7. #7
    Join Date
    January 2016
    Posts
    7
    @PANNIKOLOV: Your channel list should be in the form:
    Code:
    "channels": [1, 12],
    Let me know if that helps

  8. #8
    Join Date
    August 2014
    Posts
    11
    Quote Originally Posted by inouju View Post
    @PANNIKOLOV: Your channel list should be in the form:
    Code:
    "channels": [1, 12],
    Let me know if that helps
    All fine now!
    Last edited by PANNIKOLOV; January 27th, 2016 at 11:31 AM.

  9. #9
    Join Date
    September 2012
    Posts
    136
    Thank you for updateing mambo.
    Is your version compatible with newer servers?

  10. #10
    Join Date
    January 2016
    Posts
    7
    Quote Originally Posted by fspower View Post
    Thank you for updateing mambo.
    Is your version compatible with newer servers?
    No problem! I'm glad to continue the project!

    Yes, version 1.0.0 should support the newest version of the TS3 server. Any issues can be reported here.

  11. #11
    Join Date
    March 2016
    Posts
    1

    I'm not very experienced, please help.. ;~;

    Okay so everything was running smoothly until it came time to start up the bot. All of the dependencies got installed correctly, and I didn't have any problems with any other programs. When I try and start the bot up I get this (I already compiled everything successfully as well):

    Code:
    Microsoft Windows [Version 6.1.7601]
    Copyright (c) 2009 Microsoft Corporation.  All rights reserved.
    
    C:\Users\Infiniti>cd C:\Users\Infiniti\Desktop\mambo-1.0.0
    
    C:\Users\Infiniti\Desktop\mambo-1.0.0>iex -S mix
    Eshell V7.2  (abort with ^G)
    Interactive Elixir (1.2.3) - press Ctrl+C to exit (type h() ENTER for help)
    iex(1)>
    Is something supposed to happen after this? Am I supposed to do anything after this? As far as I know, my bot isn't connected, because none of the commands work on the TS3 server. It probably has to do with my being unable to figure out my bot's unique ID.

    My settings.JSON file:
    Code:
    {
      "name": "MashiBot",
      "user": "Logged in successfully with Telnet, so this isn't a problem",
      "pass": "Logged in successfully with Telnet, so this isn't a problem",
      "host": "I have the correct server IP here",
      "port": 10011,
      "bot_id": "INSERT BOT UNIQUE ID HERE",
      "admins": [],
      "channels": "all",
      "scripts": [
        {"name": "Sux", "args": []},
        {"name": "Help", "args": []},
        {"name": "Admin", "args": []},
        {"name": "Benis", "args": []},
        {"name": "Utils", "args": []},
        {"name": "Title", "args": []},
        {"name": "Urban", "args": []},
        {"name": "Random", "args": []},
        {"name": "Google", "args": []},
        {"name": "Quotes", "args": []},
        {"name": "Rainbow", "args": []},
        {"name": "Private", "args": []},
        {"name": "Brainfuck", "args": []},
        {"name": "Eightball", "args": []},
        {"name": "Translate", "args": []},
        {"name": "Cannedreplies", "args": []},
        {"name": "Whatthecommit", "args": []},
      ]
    }
    Note: The login info and IP are correct, I just didn't want to provide them to other users (unless those are needed for help)

    How do I find out the bot's unique ID? I saw one of the functions being called "ID", which is supposed to return the ID of the bot, but how would I go about using this function? That is most likely the problem. I would appreciate any help being put into the simplest terms possible, as I have little to no experience with this kind of stuff. I am very dedicated and a quick learner though, so I thought I would give it a try. Thanks in advance!

  12. #12
    Join Date
    January 2016
    Posts
    7

    Hope this helps

    @Infiniti Thanks for shooting me an email!

    bot_id should be set to a unique identifier for the bot: think of it as a display name basically. Try setting this to be something without spaces.

    Also, could you tell me the current clients on the server before and after you start the bot? You can find this value when you click on your server name in the channels list. It will be on the right hand pane. (Note: this will be different from the number of clients you see in the channel list if the bot is working correctly)

    Does it increase?

    Let me know how things go.

  13. #13
    Join Date
    March 2016
    Posts
    1
    Hey Inouju,

    Thanks for updating the bot! Everything's working great on my Fedora 23 VPS.

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Similar Threads

  1. Chat bot Mambo - IRC style bot for teamspeak 3
    By mrshankly in forum Tools / Web Based
    Replies: 28
    Last Post: January 25th, 2016, 03:12 AM

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •