Repository files navigation

MMBot

MMBot is a modular IRC bot written in C#.

MMBot is supported on both Windows and Linux (via Mono), but Mono support has not been tested in a while and may be buggy.

Getting up and running

Required Tools

  • You'll need to have Visual Studio 2013 for Windows Desktop installed. You can use any desktop version of Visual Studio 2013, including the free Express version: Visual Studio 2013 Express for Windows Desktop
  • The below instructions are written for Windows platforms. If you intend to run MMBot in a Linux environment, you will need Mono. Please note that MMBot has not been tested in Mono in a long, long time, and things may be broken.

Compiling MMBot

  1. Load the project into Visual Studio by double-clicking on the MMBot.sln file.

  2. If you wish to use the MMBotTwitter module, you will need to copy MMBotTwitter/TwitterCredentials.example.cs to MMBotTwitter/TwitterCredentials.cs, uncomment the two lines, and supply your Consumer API Key obtained from dev.twitter.com.

  3. If you wish to build MMBot and all of its modules, make sure you've completed Step 2 above and then build the entire solution (Ctrl-Shift-B).

  4. If you wish to choose which modules get included in your MMBot install, compile the projects separately.

Configuring MMBot

  1. After MMBot finishes compiling, navigate to its build directory, which is by default in MMBot/bin/Release/.

  2. Create two INI files, global.ini and MMBot.ini.

  3. Open global.ini in your text editor, paste the contents below, and modify it with your information. Make sure you are using Windows (CRLF) line endings.

opname=MainMemory
; This is where the BotOp's nick goes. (probably yours)
password=examplePassword
; This is where the password for an user to be recognised as a BotOp goes.
banlist=
ignorelist=
; Banned and ignored users will appear here.
  1. Open MMBot.ini in your text editor, paste the contents below, and modify it with your information. Make sure you are using Windows (CRLF) line endings.
[BadnikNET]
; The text inside the brackets will be treated as the network name displayed in MMBot's GUI.
servers=irc.badnik.net:6697
; This is the host and port that MMBot will connect to. The port is optional. Specify multiple servers with spaces.
favchans=#SF94
; This is a list of channels that MMBot will automatically join. If the channel has a keyword (MODE +k), then put the keyword after the channel name, separated by a comma. Specify multiple channels with spaces.
autoconnect=true
; If this is set to true, then MMBot will automatically connect to this network on startup.
usessl=true
; If this is set to true, MMBot will connect via SSL. Don't try using this if you're using Mono.

Configuring MMBot's httpd

  1. Run the command netsh http add urlacl url=http://your-hostname-here:80/ user=DOMAIN\User in a command prompt shell with administrative access.

  2. Forward TCP Port 80 in your router settings. The instructions vary for each router - try performing a Google search for instructions pertaining to your specific network router.

  • On some Windows versions, Windows Firewall may have to be turned off for external connections to work properly, depending on your system configuration. Simplying creating an exception appears to be ineffective in some cases.

  • Please note that some applications like Skype and TeamViewer often occupy Port 80, but also have options to turn that behaviour off.

Configuring MMBot's modules

  1. Copy DLLs/LinqToTwitter.dll to MMBot/bin/Release/LinqToTwitter.dll. This is required in order for MMBotTwitter to function.
  • If you did not compile MMBotTwitter and do not want its functionality, then you may omit this step.

  • If you fail to copy LinqToTwitter.dll, MMBotTwitter will silently fail to load. Please note that MMBot does not display any exceptions if a module fails to load.

  1. Download ucd.all.flat.zip and extract the file ucd.all.flat.xml inside it to MMBot/bin/Release/Modules/ucd.all.flat.xml. This is required in order for MMBotUnicode to function.

  2. MMBotiTunes requires iTunes in order to function. If you compiled the MMBotiTunes module, install iTunes.

About

IRC Bot written in C#

Resources

Stars

7 stars

Watchers

4 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

MMBot

MMBot is a modular IRC bot written in C#.

MMBot is supported on both Windows and Linux (via Mono), but Mono support has not been tested in a while and may be buggy.

Getting up and running

Required Tools

  • You'll need to have Visual Studio 2013 for Windows Desktop installed. You can use any desktop version of Visual Studio 2013, including the free Express version: Visual Studio 2013 Express for Windows Desktop
  • The below instructions are written for Windows platforms. If you intend to run MMBot in a Linux environment, you will need Mono. Please note that MMBot has not been tested in Mono in a long, long time, and things may be broken.

Compiling MMBot

  1. Load the project into Visual Studio by double-clicking on the MMBot.sln file.

  2. If you wish to use the MMBotTwitter module, you will need to copy MMBotTwitter/TwitterCredentials.example.cs to MMBotTwitter/TwitterCredentials.cs, uncomment the two lines, and supply your Consumer API Key obtained from dev.twitter.com.

  3. If you wish to build MMBot and all of its modules, make sure you've completed Step 2 above and then build the entire solution (Ctrl-Shift-B).

  4. If you wish to choose which modules get included in your MMBot install, compile the projects separately.

Configuring MMBot

  1. After MMBot finishes compiling, navigate to its build directory, which is by default in MMBot/bin/Release/.

  2. Create two INI files, global.ini and MMBot.ini.

  3. Open global.ini in your text editor, paste the contents below, and modify it with your information. Make sure you are using Windows (CRLF) line endings.

opname=MainMemory
; This is where the BotOp's nick goes. (probably yours)
password=examplePassword
; This is where the password for an user to be recognised as a BotOp goes.
banlist=
ignorelist=
; Banned and ignored users will appear here.
  1. Open MMBot.ini in your text editor, paste the contents below, and modify it with your information. Make sure you are using Windows (CRLF) line endings.
[BadnikNET]
; The text inside the brackets will be treated as the network name displayed in MMBot's GUI.
servers=irc.badnik.net:6697
; This is the host and port that MMBot will connect to. The port is optional. Specify multiple servers with spaces.
favchans=#SF94
; This is a list of channels that MMBot will automatically join. If the channel has a keyword (MODE +k), then put the keyword after the channel name, separated by a comma. Specify multiple channels with spaces.
autoconnect=true
; If this is set to true, then MMBot will automatically connect to this network on startup.
usessl=true
; If this is set to true, MMBot will connect via SSL. Don't try using this if you're using Mono.

Configuring MMBot's httpd

  1. Run the command netsh http add urlacl url=http://your-hostname-here:80/ user=DOMAIN\User in a command prompt shell with administrative access.

  2. Forward TCP Port 80 in your router settings. The instructions vary for each router - try performing a Google search for instructions pertaining to your specific network router.

  • On some Windows versions, Windows Firewall may have to be turned off for external connections to work properly, depending on your system configuration. Simplying creating an exception appears to be ineffective in some cases.

  • Please note that some applications like Skype and TeamViewer often occupy Port 80, but also have options to turn that behaviour off.

Configuring MMBot's modules

  1. Copy DLLs/LinqToTwitter.dll to MMBot/bin/Release/LinqToTwitter.dll. This is required in order for MMBotTwitter to function.
  • If you did not compile MMBotTwitter and do not want its functionality, then you may omit this step.

  • If you fail to copy LinqToTwitter.dll, MMBotTwitter will silently fail to load. Please note that MMBot does not display any exceptions if a module fails to load.

  1. Download ucd.all.flat.zip and extract the file ucd.all.flat.xml inside it to MMBot/bin/Release/Modules/ucd.all.flat.xml. This is required in order for MMBotUnicode to function.

  2. MMBotiTunes requires iTunes in order to function. If you compiled the MMBotiTunes module, install iTunes.

About

IRC Bot written in C#

Resources

Stars

7 stars

Watchers

4 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

MMBot

MMBot is a modular IRC bot written in C#.

MMBot is supported on both Windows and Linux (via Mono), but Mono support has not been tested in a while and may be buggy.

Getting up and running

Required Tools

  • You'll need to have Visual Studio 2013 for Windows Desktop installed. You can use any desktop version of Visual Studio 2013, including the free Express version: Visual Studio 2013 Express for Windows Desktop
  • The below instructions are written for Windows platforms. If you intend to run MMBot in a Linux environment, you will need Mono. Please note that MMBot has not been tested in Mono in a long, long time, and things may be broken.

Compiling MMBot

  1. Load the project into Visual Studio by double-clicking on the MMBot.sln file.

  2. If you wish to use the MMBotTwitter module, you will need to copy MMBotTwitter/TwitterCredentials.example.cs to MMBotTwitter/TwitterCredentials.cs, uncomment the two lines, and supply your Consumer API Key obtained from dev.twitter.com.

  3. If you wish to build MMBot and all of its modules, make sure you've completed Step 2 above and then build the entire solution (Ctrl-Shift-B).

  4. If you wish to choose which modules get included in your MMBot install, compile the projects separately.

Configuring MMBot

  1. After MMBot finishes compiling, navigate to its build directory, which is by default in MMBot/bin/Release/.

  2. Create two INI files, global.ini and MMBot.ini.

  3. Open global.ini in your text editor, paste the contents below, and modify it with your information. Make sure you are using Windows (CRLF) line endings.

opname=MainMemory
; This is where the BotOp's nick goes. (probably yours)
password=examplePassword
; This is where the password for an user to be recognised as a BotOp goes.
banlist=
ignorelist=
; Banned and ignored users will appear here.
  1. Open MMBot.ini in your text editor, paste the contents below, and modify it with your information. Make sure you are using Windows (CRLF) line endings.
[BadnikNET]
; The text inside the brackets will be treated as the network name displayed in MMBot's GUI.
servers=irc.badnik.net:6697
; This is the host and port that MMBot will connect to. The port is optional. Specify multiple servers with spaces.
favchans=#SF94
; This is a list of channels that MMBot will automatically join. If the channel has a keyword (MODE +k), then put the keyword after the channel name, separated by a comma. Specify multiple channels with spaces.
autoconnect=true
; If this is set to true, then MMBot will automatically connect to this network on startup.
usessl=true
; If this is set to true, MMBot will connect via SSL. Don't try using this if you're using Mono.

Configuring MMBot's httpd

  1. Run the command netsh http add urlacl url=http://your-hostname-here:80/ user=DOMAIN\User in a command prompt shell with administrative access.

  2. Forward TCP Port 80 in your router settings. The instructions vary for each router - try performing a Google search for instructions pertaining to your specific network router.

  • On some Windows versions, Windows Firewall may have to be turned off for external connections to work properly, depending on your system configuration. Simplying creating an exception appears to be ineffective in some cases.

  • Please note that some applications like Skype and TeamViewer often occupy Port 80, but also have options to turn that behaviour off.

Configuring MMBot's modules

  1. Copy DLLs/LinqToTwitter.dll to MMBot/bin/Release/LinqToTwitter.dll. This is required in order for MMBotTwitter to function.
  • If you did not compile MMBotTwitter and do not want its functionality, then you may omit this step.

  • If you fail to copy LinqToTwitter.dll, MMBotTwitter will silently fail to load. Please note that MMBot does not display any exceptions if a module fails to load.

  1. Download ucd.all.flat.zip and extract the file ucd.all.flat.xml inside it to MMBot/bin/Release/Modules/ucd.all.flat.xml. This is required in order for MMBotUnicode to function.

  2. MMBotiTunes requires iTunes in order to function. If you compiled the MMBotiTunes module, install iTunes.

About

IRC Bot written in C#

Resources

Stars

7 stars

Watchers

4 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

MMBot

MMBot is a modular IRC bot written in C#.

MMBot is supported on both Windows and Linux (via Mono), but Mono support has not been tested in a while and may be buggy.

Getting up and running

Required Tools

  • You'll need to have Visual Studio 2013 for Windows Desktop installed. You can use any desktop version of Visual Studio 2013, including the free Express version: Visual Studio 2013 Express for Windows Desktop
  • The below instructions are written for Windows platforms. If you intend to run MMBot in a Linux environment, you will need Mono. Please note that MMBot has not been tested in Mono in a long, long time, and things may be broken.

Compiling MMBot

  1. Load the project into Visual Studio by double-clicking on the MMBot.sln file.

  2. If you wish to use the MMBotTwitter module, you will need to copy MMBotTwitter/TwitterCredentials.example.cs to MMBotTwitter/TwitterCredentials.cs, uncomment the two lines, and supply your Consumer API Key obtained from dev.twitter.com.

  3. If you wish to build MMBot and all of its modules, make sure you've completed Step 2 above and then build the entire solution (Ctrl-Shift-B).

  4. If you wish to choose which modules get included in your MMBot install, compile the projects separately.

Configuring MMBot

  1. After MMBot finishes compiling, navigate to its build directory, which is by default in MMBot/bin/Release/.

  2. Create two INI files, global.ini and MMBot.ini.

  3. Open global.ini in your text editor, paste the contents below, and modify it with your information. Make sure you are using Windows (CRLF) line endings.

opname=MainMemory
; This is where the BotOp's nick goes. (probably yours)
password=examplePassword
; This is where the password for an user to be recognised as a BotOp goes.
banlist=
ignorelist=
; Banned and ignored users will appear here.
  1. Open MMBot.ini in your text editor, paste the contents below, and modify it with your information. Make sure you are using Windows (CRLF) line endings.
[BadnikNET]
; The text inside the brackets will be treated as the network name displayed in MMBot's GUI.
servers=irc.badnik.net:6697
; This is the host and port that MMBot will connect to. The port is optional. Specify multiple servers with spaces.
favchans=#SF94
; This is a list of channels that MMBot will automatically join. If the channel has a keyword (MODE +k), then put the keyword after the channel name, separated by a comma. Specify multiple channels with spaces.
autoconnect=true
; If this is set to true, then MMBot will automatically connect to this network on startup.
usessl=true
; If this is set to true, MMBot will connect via SSL. Don't try using this if you're using Mono.

Configuring MMBot's httpd

  1. Run the command netsh http add urlacl url=http://your-hostname-here:80/ user=DOMAIN\User in a command prompt shell with administrative access.

  2. Forward TCP Port 80 in your router settings. The instructions vary for each router - try performing a Google search for instructions pertaining to your specific network router.

  • On some Windows versions, Windows Firewall may have to be turned off for external connections to work properly, depending on your system configuration. Simplying creating an exception appears to be ineffective in some cases.

  • Please note that some applications like Skype and TeamViewer often occupy Port 80, but also have options to turn that behaviour off.

Configuring MMBot's modules

  1. Copy DLLs/LinqToTwitter.dll to MMBot/bin/Release/LinqToTwitter.dll. This is required in order for MMBotTwitter to function.
  • If you did not compile MMBotTwitter and do not want its functionality, then you may omit this step.

  • If you fail to copy LinqToTwitter.dll, MMBotTwitter will silently fail to load. Please note that MMBot does not display any exceptions if a module fails to load.

  1. Download ucd.all.flat.zip and extract the file ucd.all.flat.xml inside it to MMBot/bin/Release/Modules/ucd.all.flat.xml. This is required in order for MMBotUnicode to function.

  2. MMBotiTunes requires iTunes in order to function. If you compiled the MMBotiTunes module, install iTunes.

About

IRC Bot written in C#

Resources

Stars

7 stars

Watchers

4 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

MMBot

MMBot is a modular IRC bot written in C#.

MMBot is supported on both Windows and Linux (via Mono), but Mono support has not been tested in a while and may be buggy.

Getting up and running

Required Tools

  • You'll need to have Visual Studio 2013 for Windows Desktop installed. You can use any desktop version of Visual Studio 2013, including the free Express version: Visual Studio 2013 Express for Windows Desktop
  • The below instructions are written for Windows platforms. If you intend to run MMBot in a Linux environment, you will need Mono. Please note that MMBot has not been tested in Mono in a long, long time, and things may be broken.

Compiling MMBot

  1. Load the project into Visual Studio by double-clicking on the MMBot.sln file.

  2. If you wish to use the MMBotTwitter module, you will need to copy MMBotTwitter/TwitterCredentials.example.cs to MMBotTwitter/TwitterCredentials.cs, uncomment the two lines, and supply your Consumer API Key obtained from dev.twitter.com.

  3. If you wish to build MMBot and all of its modules, make sure you've completed Step 2 above and then build the entire solution (Ctrl-Shift-B).

  4. If you wish to choose which modules get included in your MMBot install, compile the projects separately.

Configuring MMBot

  1. After MMBot finishes compiling, navigate to its build directory, which is by default in MMBot/bin/Release/.

  2. Create two INI files, global.ini and MMBot.ini.

  3. Open global.ini in your text editor, paste the contents below, and modify it with your information. Make sure you are using Windows (CRLF) line endings.

opname=MainMemory
; This is where the BotOp's nick goes. (probably yours)
password=examplePassword
; This is where the password for an user to be recognised as a BotOp goes.
banlist=
ignorelist=
; Banned and ignored users will appear here.
  1. Open MMBot.ini in your text editor, paste the contents below, and modify it with your information. Make sure you are using Windows (CRLF) line endings.
[BadnikNET]
; The text inside the brackets will be treated as the network name displayed in MMBot's GUI.
servers=irc.badnik.net:6697
; This is the host and port that MMBot will connect to. The port is optional. Specify multiple servers with spaces.
favchans=#SF94
; This is a list of channels that MMBot will automatically join. If the channel has a keyword (MODE +k), then put the keyword after the channel name, separated by a comma. Specify multiple channels with spaces.
autoconnect=true
; If this is set to true, then MMBot will automatically connect to this network on startup.
usessl=true
; If this is set to true, MMBot will connect via SSL. Don't try using this if you're using Mono.

Configuring MMBot's httpd

  1. Run the command netsh http add urlacl url=http://your-hostname-here:80/ user=DOMAIN\User in a command prompt shell with administrative access.

  2. Forward TCP Port 80 in your router settings. The instructions vary for each router - try performing a Google search for instructions pertaining to your specific network router.

  • On some Windows versions, Windows Firewall may have to be turned off for external connections to work properly, depending on your system configuration. Simplying creating an exception appears to be ineffective in some cases.

  • Please note that some applications like Skype and TeamViewer often occupy Port 80, but also have options to turn that behaviour off.

Configuring MMBot's modules

  1. Copy DLLs/LinqToTwitter.dll to MMBot/bin/Release/LinqToTwitter.dll. This is required in order for MMBotTwitter to function.
  • If you did not compile MMBotTwitter and do not want its functionality, then you may omit this step.

  • If you fail to copy LinqToTwitter.dll, MMBotTwitter will silently fail to load. Please note that MMBot does not display any exceptions if a module fails to load.

  1. Download ucd.all.flat.zip and extract the file ucd.all.flat.xml inside it to MMBot/bin/Release/Modules/ucd.all.flat.xml. This is required in order for MMBotUnicode to function.

  2. MMBotiTunes requires iTunes in order to function. If you compiled the MMBotiTunes module, install iTunes.

About

IRC Bot written in C#

Resources

Stars

7 stars

Watchers

4 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

MMBot

MMBot is a modular IRC bot written in C#.

MMBot is supported on both Windows and Linux (via Mono), but Mono support has not been tested in a while and may be buggy.

Getting up and running

Required Tools

  • You'll need to have Visual Studio 2013 for Windows Desktop installed. You can use any desktop version of Visual Studio 2013, including the free Express version: Visual Studio 2013 Express for Windows Desktop
  • The below instructions are written for Windows platforms. If you intend to run MMBot in a Linux environment, you will need Mono. Please note that MMBot has not been tested in Mono in a long, long time, and things may be broken.

Compiling MMBot

  1. Load the project into Visual Studio by double-clicking on the MMBot.sln file.

  2. If you wish to use the MMBotTwitter module, you will need to copy MMBotTwitter/TwitterCredentials.example.cs to MMBotTwitter/TwitterCredentials.cs, uncomment the two lines, and supply your Consumer API Key obtained from dev.twitter.com.

  3. If you wish to build MMBot and all of its modules, make sure you've completed Step 2 above and then build the entire solution (Ctrl-Shift-B).

  4. If you wish to choose which modules get included in your MMBot install, compile the projects separately.

Configuring MMBot

  1. After MMBot finishes compiling, navigate to its build directory, which is by default in MMBot/bin/Release/.

  2. Create two INI files, global.ini and MMBot.ini.

  3. Open global.ini in your text editor, paste the contents below, and modify it with your information. Make sure you are using Windows (CRLF) line endings.

opname=MainMemory
; This is where the BotOp's nick goes. (probably yours)
password=examplePassword
; This is where the password for an user to be recognised as a BotOp goes.
banlist=
ignorelist=
; Banned and ignored users will appear here.
  1. Open MMBot.ini in your text editor, paste the contents below, and modify it with your information. Make sure you are using Windows (CRLF) line endings.
[BadnikNET]
; The text inside the brackets will be treated as the network name displayed in MMBot's GUI.
servers=irc.badnik.net:6697
; This is the host and port that MMBot will connect to. The port is optional. Specify multiple servers with spaces.
favchans=#SF94
; This is a list of channels that MMBot will automatically join. If the channel has a keyword (MODE +k), then put the keyword after the channel name, separated by a comma. Specify multiple channels with spaces.
autoconnect=true
; If this is set to true, then MMBot will automatically connect to this network on startup.
usessl=true
; If this is set to true, MMBot will connect via SSL. Don't try using this if you're using Mono.

Configuring MMBot's httpd

  1. Run the command netsh http add urlacl url=http://your-hostname-here:80/ user=DOMAIN\User in a command prompt shell with administrative access.

  2. Forward TCP Port 80 in your router settings. The instructions vary for each router - try performing a Google search for instructions pertaining to your specific network router.

  • On some Windows versions, Windows Firewall may have to be turned off for external connections to work properly, depending on your system configuration. Simplying creating an exception appears to be ineffective in some cases.

  • Please note that some applications like Skype and TeamViewer often occupy Port 80, but also have options to turn that behaviour off.

Configuring MMBot's modules

  1. Copy DLLs/LinqToTwitter.dll to MMBot/bin/Release/LinqToTwitter.dll. This is required in order for MMBotTwitter to function.
  • If you did not compile MMBotTwitter and do not want its functionality, then you may omit this step.

  • If you fail to copy LinqToTwitter.dll, MMBotTwitter will silently fail to load. Please note that MMBot does not display any exceptions if a module fails to load.

  1. Download ucd.all.flat.zip and extract the file ucd.all.flat.xml inside it to MMBot/bin/Release/Modules/ucd.all.flat.xml. This is required in order for MMBotUnicode to function.

  2. MMBotiTunes requires iTunes in order to function. If you compiled the MMBotiTunes module, install iTunes.

About

IRC Bot written in C#

Resources

Stars

7 stars

Watchers

4 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

MMBot

MMBot is a modular IRC bot written in C#.

MMBot is supported on both Windows and Linux (via Mono), but Mono support has not been tested in a while and may be buggy.

Getting up and running

Required Tools

  • You'll need to have Visual Studio 2013 for Windows Desktop installed. You can use any desktop version of Visual Studio 2013, including the free Express version: Visual Studio 2013 Express for Windows Desktop
  • The below instructions are written for Windows platforms. If you intend to run MMBot in a Linux environment, you will need Mono. Please note that MMBot has not been tested in Mono in a long, long time, and things may be broken.

Compiling MMBot

  1. Load the project into Visual Studio by double-clicking on the MMBot.sln file.

  2. If you wish to use the MMBotTwitter module, you will need to copy MMBotTwitter/TwitterCredentials.example.cs to MMBotTwitter/TwitterCredentials.cs, uncomment the two lines, and supply your Consumer API Key obtained from dev.twitter.com.

  3. If you wish to build MMBot and all of its modules, make sure you've completed Step 2 above and then build the entire solution (Ctrl-Shift-B).

  4. If you wish to choose which modules get included in your MMBot install, compile the projects separately.

Configuring MMBot

  1. After MMBot finishes compiling, navigate to its build directory, which is by default in MMBot/bin/Release/.

  2. Create two INI files, global.ini and MMBot.ini.

  3. Open global.ini in your text editor, paste the contents below, and modify it with your information. Make sure you are using Windows (CRLF) line endings.

opname=MainMemory
; This is where the BotOp's nick goes. (probably yours)
password=examplePassword
; This is where the password for an user to be recognised as a BotOp goes.
banlist=
ignorelist=
; Banned and ignored users will appear here.
  1. Open MMBot.ini in your text editor, paste the contents below, and modify it with your information. Make sure you are using Windows (CRLF) line endings.
[BadnikNET]
; The text inside the brackets will be treated as the network name displayed in MMBot's GUI.
servers=irc.badnik.net:6697
; This is the host and port that MMBot will connect to. The port is optional. Specify multiple servers with spaces.
favchans=#SF94
; This is a list of channels that MMBot will automatically join. If the channel has a keyword (MODE +k), then put the keyword after the channel name, separated by a comma. Specify multiple channels with spaces.
autoconnect=true
; If this is set to true, then MMBot will automatically connect to this network on startup.
usessl=true
; If this is set to true, MMBot will connect via SSL. Don't try using this if you're using Mono.

Configuring MMBot's httpd

  1. Run the command netsh http add urlacl url=http://your-hostname-here:80/ user=DOMAIN\User in a command prompt shell with administrative access.

  2. Forward TCP Port 80 in your router settings. The instructions vary for each router - try performing a Google search for instructions pertaining to your specific network router.

  • On some Windows versions, Windows Firewall may have to be turned off for external connections to work properly, depending on your system configuration. Simplying creating an exception appears to be ineffective in some cases.

  • Please note that some applications like Skype and TeamViewer often occupy Port 80, but also have options to turn that behaviour off.

Configuring MMBot's modules

  1. Copy DLLs/LinqToTwitter.dll to MMBot/bin/Release/LinqToTwitter.dll. This is required in order for MMBotTwitter to function.
  • If you did not compile MMBotTwitter and do not want its functionality, then you may omit this step.

  • If you fail to copy LinqToTwitter.dll, MMBotTwitter will silently fail to load. Please note that MMBot does not display any exceptions if a module fails to load.

  1. Download ucd.all.flat.zip and extract the file ucd.all.flat.xml inside it to MMBot/bin/Release/Modules/ucd.all.flat.xml. This is required in order for MMBotUnicode to function.

  2. MMBotiTunes requires iTunes in order to function. If you compiled the MMBotiTunes module, install iTunes.

About

IRC Bot written in C#

Resources

Stars

7 stars

Watchers

4 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

MMBot

MMBot is a modular IRC bot written in C#.

MMBot is supported on both Windows and Linux (via Mono), but Mono support has not been tested in a while and may be buggy.

Getting up and running

Required Tools

  • You'll need to have Visual Studio 2013 for Windows Desktop installed. You can use any desktop version of Visual Studio 2013, including the free Express version: Visual Studio 2013 Express for Windows Desktop
  • The below instructions are written for Windows platforms. If you intend to run MMBot in a Linux environment, you will need Mono. Please note that MMBot has not been tested in Mono in a long, long time, and things may be broken.

Compiling MMBot

  1. Load the project into Visual Studio by double-clicking on the MMBot.sln file.

  2. If you wish to use the MMBotTwitter module, you will need to copy MMBotTwitter/TwitterCredentials.example.cs to MMBotTwitter/TwitterCredentials.cs, uncomment the two lines, and supply your Consumer API Key obtained from dev.twitter.com.

  3. If you wish to build MMBot and all of its modules, make sure you've completed Step 2 above and then build the entire solution (Ctrl-Shift-B).

  4. If you wish to choose which modules get included in your MMBot install, compile the projects separately.

Configuring MMBot

  1. After MMBot finishes compiling, navigate to its build directory, which is by default in MMBot/bin/Release/.

  2. Create two INI files, global.ini and MMBot.ini.

  3. Open global.ini in your text editor, paste the contents below, and modify it with your information. Make sure you are using Windows (CRLF) line endings.

opname=MainMemory
; This is where the BotOp's nick goes. (probably yours)
password=examplePassword
; This is where the password for an user to be recognised as a BotOp goes.
banlist=
ignorelist=
; Banned and ignored users will appear here.
  1. Open MMBot.ini in your text editor, paste the contents below, and modify it with your information. Make sure you are using Windows (CRLF) line endings.
[BadnikNET]
; The text inside the brackets will be treated as the network name displayed in MMBot's GUI.
servers=irc.badnik.net:6697
; This is the host and port that MMBot will connect to. The port is optional. Specify multiple servers with spaces.
favchans=#SF94
; This is a list of channels that MMBot will automatically join. If the channel has a keyword (MODE +k), then put the keyword after the channel name, separated by a comma. Specify multiple channels with spaces.
autoconnect=true
; If this is set to true, then MMBot will automatically connect to this network on startup.
usessl=true
; If this is set to true, MMBot will connect via SSL. Don't try using this if you're using Mono.

Configuring MMBot's httpd

  1. Run the command netsh http add urlacl url=http://your-hostname-here:80/ user=DOMAIN\User in a command prompt shell with administrative access.

  2. Forward TCP Port 80 in your router settings. The instructions vary for each router - try performing a Google search for instructions pertaining to your specific network router.

  • On some Windows versions, Windows Firewall may have to be turned off for external connections to work properly, depending on your system configuration. Simplying creating an exception appears to be ineffective in some cases.

  • Please note that some applications like Skype and TeamViewer often occupy Port 80, but also have options to turn that behaviour off.

Configuring MMBot's modules

  1. Copy DLLs/LinqToTwitter.dll to MMBot/bin/Release/LinqToTwitter.dll. This is required in order for MMBotTwitter to function.
  • If you did not compile MMBotTwitter and do not want its functionality, then you may omit this step.

  • If you fail to copy LinqToTwitter.dll, MMBotTwitter will silently fail to load. Please note that MMBot does not display any exceptions if a module fails to load.

  1. Download ucd.all.flat.zip and extract the file ucd.all.flat.xml inside it to MMBot/bin/Release/Modules/ucd.all.flat.xml. This is required in order for MMBotUnicode to function.

  2. MMBotiTunes requires iTunes in order to function. If you compiled the MMBotiTunes module, install iTunes.

About

IRC Bot written in C#

Resources

Stars

7 stars

Watchers

4 watching

Forks

Releases

Packages

Contributors

Languages