Latest commit

History

150 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

AbbyBot-Api

This API is an integral component of the AbbyBot project, providing comprehensive data services related to Discord bot servers, users, and bot-specific information.

Requirements file

requirements.txt

Make sure you have all the necessary packages installed by running:

pip install -r requirements.txt

Environment Variables

The environment variables required for the API are now included in the .env.example file. You can use this file as a template to create your own .env file.

# Copy the example file to create your .env file
cp .env.example .env

Make sure to update the values in the .env file with your specific configuration.

  1. Clone the repository and navigate to the folder.
  2. Set up your .env file with the appropriate values.

Running the API (Development)

  1. Run the Flask application (development mode):
python main.py

The API will be available at http://127.0.0.1:5002/.

Endpoints list

View Endpoints

Running the API (Production)

For greater ease, this API can be deployed using Docker along with Docker Compose.

This Docker setup is specifically designed for production, not for development. It will expose a port on the server, specifically 5002.

As mentioned, this is for production, so the first step would be to clone the repository on your server in a folder appropriate for the HTTP server you are using, such as Apache or Nginx.

Steps to build and run the container:

  1. Make sure you have completed the previous step of creating the .env file based on .env.example and filling it with your actual variables.

  2. Execute the following command:

sudo docker compose build
  1. The blue whale 🐳 will start building the API container, copying all the files, including the .env. For this reason, the .env file must be created before starting the Docker build process.

  2. If everything went well, the terminal will display messages like the following:

[+] Building 1/1
✔ web Built 

If you see "built," it indicates that the build was successful.

  1. To start the Docker container, simply run:
sudo docker compose up -d

Note: We add the -d flag to run the container in the background on your server.

  1. If everything went well, the terminal will return to showing your username as usual. The next step will be to set up a reverse proxy using your HTTP server, such as Apache or Nginx.

Reverse Proxy Setup

To set up a reverse proxy for port 5002, you can use either Apache or Nginx. Below are examples for both:

Apache

  1. Enable the required modules:
sudo a2enmod proxy proxy_http
sudo systemctl restart apache2 #or httpd
  1. Add the following to your Apache configuration file:
<VirtualHost*:80>
ServerName yourdomain.com
ProxyPass / http://127.0.0.1:5002/
ProxyPassReverse / http://127.0.0.1:5002/
</VirtualHost>
  1. Restart Apache:
sudo systemctl restart apache2 #or httpd

Nginx

  1. Add the following to your Nginx configuration file:
server{listen80;server_name yourdomain.com;location / {proxy_passhttp://127.0.0.1:5002;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;}}
  1. Test and reload Nginx:
sudo nginx -t
sudo systemctl reload nginx

Replace yourdomain.com with your actual domain name.

  • AbbyBotProject team

About

AbbyBot web API for webpage and data.

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

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

Latest commit

History

150 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

AbbyBot-Api

This API is an integral component of the AbbyBot project, providing comprehensive data services related to Discord bot servers, users, and bot-specific information.

Requirements file

requirements.txt

Make sure you have all the necessary packages installed by running:

pip install -r requirements.txt

Environment Variables

The environment variables required for the API are now included in the .env.example file. You can use this file as a template to create your own .env file.

# Copy the example file to create your .env file
cp .env.example .env

Make sure to update the values in the .env file with your specific configuration.

  1. Clone the repository and navigate to the folder.
  2. Set up your .env file with the appropriate values.

Running the API (Development)

  1. Run the Flask application (development mode):
python main.py

The API will be available at http://127.0.0.1:5002/.

Endpoints list

View Endpoints

Running the API (Production)

For greater ease, this API can be deployed using Docker along with Docker Compose.

This Docker setup is specifically designed for production, not for development. It will expose a port on the server, specifically 5002.

As mentioned, this is for production, so the first step would be to clone the repository on your server in a folder appropriate for the HTTP server you are using, such as Apache or Nginx.

Steps to build and run the container:

  1. Make sure you have completed the previous step of creating the .env file based on .env.example and filling it with your actual variables.

  2. Execute the following command:

sudo docker compose build
  1. The blue whale 🐳 will start building the API container, copying all the files, including the .env. For this reason, the .env file must be created before starting the Docker build process.

  2. If everything went well, the terminal will display messages like the following:

[+] Building 1/1
✔ web Built 

If you see "built," it indicates that the build was successful.

  1. To start the Docker container, simply run:
sudo docker compose up -d

Note: We add the -d flag to run the container in the background on your server.

  1. If everything went well, the terminal will return to showing your username as usual. The next step will be to set up a reverse proxy using your HTTP server, such as Apache or Nginx.

Reverse Proxy Setup

To set up a reverse proxy for port 5002, you can use either Apache or Nginx. Below are examples for both:

Apache

  1. Enable the required modules:
sudo a2enmod proxy proxy_http
sudo systemctl restart apache2 #or httpd
  1. Add the following to your Apache configuration file:
<VirtualHost*:80>
ServerName yourdomain.com
ProxyPass / http://127.0.0.1:5002/
ProxyPassReverse / http://127.0.0.1:5002/
</VirtualHost>
  1. Restart Apache:
sudo systemctl restart apache2 #or httpd

Nginx

  1. Add the following to your Nginx configuration file:
server{listen80;server_name yourdomain.com;location / {proxy_passhttp://127.0.0.1:5002;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;}}
  1. Test and reload Nginx:
sudo nginx -t
sudo systemctl reload nginx

Replace yourdomain.com with your actual domain name.

  • AbbyBotProject team

About

AbbyBot web API for webpage and data.

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

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

Latest commit

History

150 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

AbbyBot-Api

This API is an integral component of the AbbyBot project, providing comprehensive data services related to Discord bot servers, users, and bot-specific information.

Requirements file

requirements.txt

Make sure you have all the necessary packages installed by running:

pip install -r requirements.txt

Environment Variables

The environment variables required for the API are now included in the .env.example file. You can use this file as a template to create your own .env file.

# Copy the example file to create your .env file
cp .env.example .env

Make sure to update the values in the .env file with your specific configuration.

  1. Clone the repository and navigate to the folder.
  2. Set up your .env file with the appropriate values.

Running the API (Development)

  1. Run the Flask application (development mode):
python main.py

The API will be available at http://127.0.0.1:5002/.

Endpoints list

View Endpoints

Running the API (Production)

For greater ease, this API can be deployed using Docker along with Docker Compose.

This Docker setup is specifically designed for production, not for development. It will expose a port on the server, specifically 5002.

As mentioned, this is for production, so the first step would be to clone the repository on your server in a folder appropriate for the HTTP server you are using, such as Apache or Nginx.

Steps to build and run the container:

  1. Make sure you have completed the previous step of creating the .env file based on .env.example and filling it with your actual variables.

  2. Execute the following command:

sudo docker compose build
  1. The blue whale 🐳 will start building the API container, copying all the files, including the .env. For this reason, the .env file must be created before starting the Docker build process.

  2. If everything went well, the terminal will display messages like the following:

[+] Building 1/1
✔ web Built 

If you see "built," it indicates that the build was successful.

  1. To start the Docker container, simply run:
sudo docker compose up -d

Note: We add the -d flag to run the container in the background on your server.

  1. If everything went well, the terminal will return to showing your username as usual. The next step will be to set up a reverse proxy using your HTTP server, such as Apache or Nginx.

Reverse Proxy Setup

To set up a reverse proxy for port 5002, you can use either Apache or Nginx. Below are examples for both:

Apache

  1. Enable the required modules:
sudo a2enmod proxy proxy_http
sudo systemctl restart apache2 #or httpd
  1. Add the following to your Apache configuration file:
<VirtualHost*:80>
ServerName yourdomain.com
ProxyPass / http://127.0.0.1:5002/
ProxyPassReverse / http://127.0.0.1:5002/
</VirtualHost>
  1. Restart Apache:
sudo systemctl restart apache2 #or httpd

Nginx

  1. Add the following to your Nginx configuration file:
server{listen80;server_name yourdomain.com;location / {proxy_passhttp://127.0.0.1:5002;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;}}
  1. Test and reload Nginx:
sudo nginx -t
sudo systemctl reload nginx

Replace yourdomain.com with your actual domain name.

  • AbbyBotProject team

About

AbbyBot web API for webpage and data.

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

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

Latest commit

History

150 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

AbbyBot-Api

This API is an integral component of the AbbyBot project, providing comprehensive data services related to Discord bot servers, users, and bot-specific information.

Requirements file

requirements.txt

Make sure you have all the necessary packages installed by running:

pip install -r requirements.txt

Environment Variables

The environment variables required for the API are now included in the .env.example file. You can use this file as a template to create your own .env file.

# Copy the example file to create your .env file
cp .env.example .env

Make sure to update the values in the .env file with your specific configuration.

  1. Clone the repository and navigate to the folder.
  2. Set up your .env file with the appropriate values.

Running the API (Development)

  1. Run the Flask application (development mode):
python main.py

The API will be available at http://127.0.0.1:5002/.

Endpoints list

View Endpoints

Running the API (Production)

For greater ease, this API can be deployed using Docker along with Docker Compose.

This Docker setup is specifically designed for production, not for development. It will expose a port on the server, specifically 5002.

As mentioned, this is for production, so the first step would be to clone the repository on your server in a folder appropriate for the HTTP server you are using, such as Apache or Nginx.

Steps to build and run the container:

  1. Make sure you have completed the previous step of creating the .env file based on .env.example and filling it with your actual variables.

  2. Execute the following command:

sudo docker compose build
  1. The blue whale 🐳 will start building the API container, copying all the files, including the .env. For this reason, the .env file must be created before starting the Docker build process.

  2. If everything went well, the terminal will display messages like the following:

[+] Building 1/1
✔ web Built 

If you see "built," it indicates that the build was successful.

  1. To start the Docker container, simply run:
sudo docker compose up -d

Note: We add the -d flag to run the container in the background on your server.

  1. If everything went well, the terminal will return to showing your username as usual. The next step will be to set up a reverse proxy using your HTTP server, such as Apache or Nginx.

Reverse Proxy Setup

To set up a reverse proxy for port 5002, you can use either Apache or Nginx. Below are examples for both:

Apache

  1. Enable the required modules:
sudo a2enmod proxy proxy_http
sudo systemctl restart apache2 #or httpd
  1. Add the following to your Apache configuration file:
<VirtualHost*:80>
ServerName yourdomain.com
ProxyPass / http://127.0.0.1:5002/
ProxyPassReverse / http://127.0.0.1:5002/
</VirtualHost>
  1. Restart Apache:
sudo systemctl restart apache2 #or httpd

Nginx

  1. Add the following to your Nginx configuration file:
server{listen80;server_name yourdomain.com;location / {proxy_passhttp://127.0.0.1:5002;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;}}
  1. Test and reload Nginx:
sudo nginx -t
sudo systemctl reload nginx

Replace yourdomain.com with your actual domain name.

  • AbbyBotProject team

About

AbbyBot web API for webpage and data.

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

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

Latest commit

History

150 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

AbbyBot-Api

This API is an integral component of the AbbyBot project, providing comprehensive data services related to Discord bot servers, users, and bot-specific information.

Requirements file

requirements.txt

Make sure you have all the necessary packages installed by running:

pip install -r requirements.txt

Environment Variables

The environment variables required for the API are now included in the .env.example file. You can use this file as a template to create your own .env file.

# Copy the example file to create your .env file
cp .env.example .env

Make sure to update the values in the .env file with your specific configuration.

  1. Clone the repository and navigate to the folder.
  2. Set up your .env file with the appropriate values.

Running the API (Development)

  1. Run the Flask application (development mode):
python main.py

The API will be available at http://127.0.0.1:5002/.

Endpoints list

View Endpoints

Running the API (Production)

For greater ease, this API can be deployed using Docker along with Docker Compose.

This Docker setup is specifically designed for production, not for development. It will expose a port on the server, specifically 5002.

As mentioned, this is for production, so the first step would be to clone the repository on your server in a folder appropriate for the HTTP server you are using, such as Apache or Nginx.

Steps to build and run the container:

  1. Make sure you have completed the previous step of creating the .env file based on .env.example and filling it with your actual variables.

  2. Execute the following command:

sudo docker compose build
  1. The blue whale 🐳 will start building the API container, copying all the files, including the .env. For this reason, the .env file must be created before starting the Docker build process.

  2. If everything went well, the terminal will display messages like the following:

[+] Building 1/1
✔ web Built 

If you see "built," it indicates that the build was successful.

  1. To start the Docker container, simply run:
sudo docker compose up -d

Note: We add the -d flag to run the container in the background on your server.

  1. If everything went well, the terminal will return to showing your username as usual. The next step will be to set up a reverse proxy using your HTTP server, such as Apache or Nginx.

Reverse Proxy Setup

To set up a reverse proxy for port 5002, you can use either Apache or Nginx. Below are examples for both:

Apache

  1. Enable the required modules:
sudo a2enmod proxy proxy_http
sudo systemctl restart apache2 #or httpd
  1. Add the following to your Apache configuration file:
<VirtualHost*:80>
ServerName yourdomain.com
ProxyPass / http://127.0.0.1:5002/
ProxyPassReverse / http://127.0.0.1:5002/
</VirtualHost>
  1. Restart Apache:
sudo systemctl restart apache2 #or httpd

Nginx

  1. Add the following to your Nginx configuration file:
server{listen80;server_name yourdomain.com;location / {proxy_passhttp://127.0.0.1:5002;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;}}
  1. Test and reload Nginx:
sudo nginx -t
sudo systemctl reload nginx

Replace yourdomain.com with your actual domain name.

  • AbbyBotProject team

About

AbbyBot web API for webpage and data.

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

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

Latest commit

History

150 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

AbbyBot-Api

This API is an integral component of the AbbyBot project, providing comprehensive data services related to Discord bot servers, users, and bot-specific information.

Requirements file

requirements.txt

Make sure you have all the necessary packages installed by running:

pip install -r requirements.txt

Environment Variables

The environment variables required for the API are now included in the .env.example file. You can use this file as a template to create your own .env file.

# Copy the example file to create your .env file
cp .env.example .env

Make sure to update the values in the .env file with your specific configuration.

  1. Clone the repository and navigate to the folder.
  2. Set up your .env file with the appropriate values.

Running the API (Development)

  1. Run the Flask application (development mode):
python main.py

The API will be available at http://127.0.0.1:5002/.

Endpoints list

View Endpoints

Running the API (Production)

For greater ease, this API can be deployed using Docker along with Docker Compose.

This Docker setup is specifically designed for production, not for development. It will expose a port on the server, specifically 5002.

As mentioned, this is for production, so the first step would be to clone the repository on your server in a folder appropriate for the HTTP server you are using, such as Apache or Nginx.

Steps to build and run the container:

  1. Make sure you have completed the previous step of creating the .env file based on .env.example and filling it with your actual variables.

  2. Execute the following command:

sudo docker compose build
  1. The blue whale 🐳 will start building the API container, copying all the files, including the .env. For this reason, the .env file must be created before starting the Docker build process.

  2. If everything went well, the terminal will display messages like the following:

[+] Building 1/1
✔ web Built 

If you see "built," it indicates that the build was successful.

  1. To start the Docker container, simply run:
sudo docker compose up -d

Note: We add the -d flag to run the container in the background on your server.

  1. If everything went well, the terminal will return to showing your username as usual. The next step will be to set up a reverse proxy using your HTTP server, such as Apache or Nginx.

Reverse Proxy Setup

To set up a reverse proxy for port 5002, you can use either Apache or Nginx. Below are examples for both:

Apache

  1. Enable the required modules:
sudo a2enmod proxy proxy_http
sudo systemctl restart apache2 #or httpd
  1. Add the following to your Apache configuration file:
<VirtualHost*:80>
ServerName yourdomain.com
ProxyPass / http://127.0.0.1:5002/
ProxyPassReverse / http://127.0.0.1:5002/
</VirtualHost>
  1. Restart Apache:
sudo systemctl restart apache2 #or httpd

Nginx

  1. Add the following to your Nginx configuration file:
server{listen80;server_name yourdomain.com;location / {proxy_passhttp://127.0.0.1:5002;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;}}
  1. Test and reload Nginx:
sudo nginx -t
sudo systemctl reload nginx

Replace yourdomain.com with your actual domain name.

  • AbbyBotProject team

About

AbbyBot web API for webpage and data.

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

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

Latest commit

History

150 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

AbbyBot-Api

This API is an integral component of the AbbyBot project, providing comprehensive data services related to Discord bot servers, users, and bot-specific information.

Requirements file

requirements.txt

Make sure you have all the necessary packages installed by running:

pip install -r requirements.txt

Environment Variables

The environment variables required for the API are now included in the .env.example file. You can use this file as a template to create your own .env file.

# Copy the example file to create your .env file
cp .env.example .env

Make sure to update the values in the .env file with your specific configuration.

  1. Clone the repository and navigate to the folder.
  2. Set up your .env file with the appropriate values.

Running the API (Development)

  1. Run the Flask application (development mode):
python main.py

The API will be available at http://127.0.0.1:5002/.

Endpoints list

View Endpoints

Running the API (Production)

For greater ease, this API can be deployed using Docker along with Docker Compose.

This Docker setup is specifically designed for production, not for development. It will expose a port on the server, specifically 5002.

As mentioned, this is for production, so the first step would be to clone the repository on your server in a folder appropriate for the HTTP server you are using, such as Apache or Nginx.

Steps to build and run the container:

  1. Make sure you have completed the previous step of creating the .env file based on .env.example and filling it with your actual variables.

  2. Execute the following command:

sudo docker compose build
  1. The blue whale 🐳 will start building the API container, copying all the files, including the .env. For this reason, the .env file must be created before starting the Docker build process.

  2. If everything went well, the terminal will display messages like the following:

[+] Building 1/1
✔ web Built 

If you see "built," it indicates that the build was successful.

  1. To start the Docker container, simply run:
sudo docker compose up -d

Note: We add the -d flag to run the container in the background on your server.

  1. If everything went well, the terminal will return to showing your username as usual. The next step will be to set up a reverse proxy using your HTTP server, such as Apache or Nginx.

Reverse Proxy Setup

To set up a reverse proxy for port 5002, you can use either Apache or Nginx. Below are examples for both:

Apache

  1. Enable the required modules:
sudo a2enmod proxy proxy_http
sudo systemctl restart apache2 #or httpd
  1. Add the following to your Apache configuration file:
<VirtualHost*:80>
ServerName yourdomain.com
ProxyPass / http://127.0.0.1:5002/
ProxyPassReverse / http://127.0.0.1:5002/
</VirtualHost>
  1. Restart Apache:
sudo systemctl restart apache2 #or httpd

Nginx

  1. Add the following to your Nginx configuration file:
server{listen80;server_name yourdomain.com;location / {proxy_passhttp://127.0.0.1:5002;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;}}
  1. Test and reload Nginx:
sudo nginx -t
sudo systemctl reload nginx

Replace yourdomain.com with your actual domain name.

  • AbbyBotProject team

About

AbbyBot web API for webpage and data.

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

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

Latest commit

History

150 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

AbbyBot-Api

This API is an integral component of the AbbyBot project, providing comprehensive data services related to Discord bot servers, users, and bot-specific information.

Requirements file

requirements.txt

Make sure you have all the necessary packages installed by running:

pip install -r requirements.txt

Environment Variables

The environment variables required for the API are now included in the .env.example file. You can use this file as a template to create your own .env file.

# Copy the example file to create your .env file
cp .env.example .env

Make sure to update the values in the .env file with your specific configuration.

  1. Clone the repository and navigate to the folder.
  2. Set up your .env file with the appropriate values.

Running the API (Development)

  1. Run the Flask application (development mode):
python main.py

The API will be available at http://127.0.0.1:5002/.

Endpoints list

View Endpoints

Running the API (Production)

For greater ease, this API can be deployed using Docker along with Docker Compose.

This Docker setup is specifically designed for production, not for development. It will expose a port on the server, specifically 5002.

As mentioned, this is for production, so the first step would be to clone the repository on your server in a folder appropriate for the HTTP server you are using, such as Apache or Nginx.

Steps to build and run the container:

  1. Make sure you have completed the previous step of creating the .env file based on .env.example and filling it with your actual variables.

  2. Execute the following command:

sudo docker compose build
  1. The blue whale 🐳 will start building the API container, copying all the files, including the .env. For this reason, the .env file must be created before starting the Docker build process.

  2. If everything went well, the terminal will display messages like the following:

[+] Building 1/1
✔ web Built 

If you see "built," it indicates that the build was successful.

  1. To start the Docker container, simply run:
sudo docker compose up -d

Note: We add the -d flag to run the container in the background on your server.

  1. If everything went well, the terminal will return to showing your username as usual. The next step will be to set up a reverse proxy using your HTTP server, such as Apache or Nginx.

Reverse Proxy Setup

To set up a reverse proxy for port 5002, you can use either Apache or Nginx. Below are examples for both:

Apache

  1. Enable the required modules:
sudo a2enmod proxy proxy_http
sudo systemctl restart apache2 #or httpd
  1. Add the following to your Apache configuration file:
<VirtualHost*:80>
ServerName yourdomain.com
ProxyPass / http://127.0.0.1:5002/
ProxyPassReverse / http://127.0.0.1:5002/
</VirtualHost>
  1. Restart Apache:
sudo systemctl restart apache2 #or httpd

Nginx

  1. Add the following to your Nginx configuration file:
server{listen80;server_name yourdomain.com;location / {proxy_passhttp://127.0.0.1:5002;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;}}
  1. Test and reload Nginx:
sudo nginx -t
sudo systemctl reload nginx

Replace yourdomain.com with your actual domain name.

  • AbbyBotProject team

About

AbbyBot web API for webpage and data.

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages