Compare commits

..

87 commits

Author SHA1 Message Date
Milka64 6b9e153de1 try to fix command prefix 2024-01-02 16:45:19 +01:00
Milka64 6504c286da add more None un kron 2024-01-02 15:52:14 +01:00
Milka64 8cca3c1990 fix boulette 2023-12-29 17:18:12 +01:00
Milka64 b7d3546cea fix some traceback in logs 2023-12-29 17:10:09 +01:00
Milka64 6f2460eaef WIP #32 2023-12-29 15:50:46 +01:00
Milka64 3cdec52d81 Fix welcome text message 2023-12-29 15:39:10 +01:00
Milka64 9a4e9b3735 Fix welcome text message 2023-12-29 15:32:40 +01:00
Milka64 2fadbe74c0 WIP #32 2023-12-29 15:21:57 +01:00
Milka64 2d8518e169 WIP #32 2023-12-29 15:10:40 +01:00
Milka64 26a30c9af8 WIP #32 2023-12-29 15:00:02 +01:00
Milka64 d33eb077a7 WIP #32 2023-12-29 14:48:17 +01:00
Milka64 daa3c7aa0d WIP #32 2023-12-29 14:20:47 +01:00
Milka64 f2b6638616 WIP #32 2023-12-29 14:00:02 +01:00
Milka64 d913af4378 WIP #32 2023-12-29 11:54:19 +01:00
Milka64 2d893dbda2 Ajout d'une limite à la commande find #51 2023-12-29 10:34:41 +01:00
Milka64 a6a7eb07bc WIP #51 2023-12-29 10:24:03 +01:00
Milka64 012feae29c WIP #51 2023-12-28 17:10:52 +01:00
Milka64 c3e590fd2c fix #11 2023-12-28 11:32:02 +01:00
Milka64 8e654da976 update variable 2023-12-27 17:12:00 +01:00
Milka64 5dd913d1ca update variable 2023-12-27 17:10:36 +01:00
Milka64 e8fef9801e ci-cd 2023-12-27 17:07:15 +01:00
Milka64 ff98d6b453 rattrapage 2023-12-27 16:54:31 +01:00
Milka64 a046a4d55f update version 2023-12-27 08:38:28 +01:00
Milka64 82c5c6501c fix kron function 2023-12-27 08:37:20 +01:00
Milka64 ccde0ff81d deploy dockerfile 2023-12-26 15:32:21 +01:00
Milka64 30e89ba49c update version 2023-12-26 13:42:52 +01:00
Milka64 55d4045a2e fix entrypoint 2023-12-26 13:42:00 +01:00
Milka64 d2291738bb fix import && update version 2023-12-26 13:28:46 +01:00
Milka64 d77d390efe typo 2023-12-26 13:25:05 +01:00
Milka64 c47df4b78c code refactoring 2023-12-26 13:19:46 +01:00
Milka64 5792a88911 fix intents 2023-12-13 21:22:50 +01:00
Milka64 a9cc9e20c0 fix some stuff 2023-12-11 20:56:46 +01:00
BFlow 112760299f Merge remote-tracking branch 'origin/master' 2021-12-14 16:34:41 +01:00
BFlow 1f52550d29 update commande "!cboulette" + something 2021-12-14 16:32:42 +01:00
BFlow 1f9fe5dfd1 Upload New File 2021-12-14 15:31:58 +00:00
BFlow 0c9aeece81 add commande "!cboulette" 2021-12-14 16:22:23 +01:00
Milka64 d1f7d91485 fix youtube dl timeout 2021-12-14 15:16:04 +01:00
Milka64 84dd36208f try to fix schizo cmd 2021-11-21 16:49:43 +01:00
Milka64 239bbe259e try to fix schizo cmd 2021-11-21 16:48:04 +01:00
Milka64 34b1c075b6 try to fix schizo cmd 2021-11-21 16:47:01 +01:00
Milka64 dc0ab7d0d7 try to fix schizo cmd 2021-11-21 16:38:30 +01:00
BFlow 5bc0329c22 add schizo dans les events 2021-05-04 22:36:56 +02:00
BFlow cb007a7126 command schizo 2021-05-04 22:34:32 +02:00
BFlow fbba7aae52 command schizo
fix avatar bot
2021-05-04 21:57:09 +02:00
BFlow e4a3e88511 command schizo
fix avatar bot
2021-05-04 21:47:32 +02:00
BFlow 8349448540 command schizo 2021-05-03 21:46:46 +02:00
BFlow bbbb4bd21b Upload New File 2021-04-13 22:13:50 +00:00
BFlow 1611683036 Upload New File 2021-04-13 22:04:54 +00:00
BFlow 186eccff93 Upload New File 2021-04-13 22:04:33 +00:00
BFlow d9925249ad Upload New File 2021-04-13 22:03:50 +00:00
BFlow 3742c4bd5a Upload New File 2021-04-13 22:03:32 +00:00
BFlow c5d3835c57 img pour la commande schizo 2021-04-13 22:03:03 +00:00
BFlow f5703709d1 avatar pour la commande schizo 2021-04-13 22:01:27 +00:00
Milka64 a6437ee322 fix joke issue 2021-02-21 20:45:28 +01:00
Milka64 5207baf83f WIP on #11 2021-02-18 22:08:17 +01:00
Milka64 b719019dbd WIP on #11 2021-02-18 22:04:29 +01:00
Milka64 abb7f34d9f WIP on #11 2021-02-18 21:54:01 +01:00
Milka64 7031a76b06 fix boulette 2021-01-30 21:35:52 +01:00
Milka64 7ab8aa21b9 fix #53 2021-01-30 21:28:34 +01:00
Milka64 705ba32565 fix configuration documentation 2021-01-09 18:55:55 +01:00
Milka64 43508edc66 update README 2021-01-09 18:52:35 +01:00
Milka64 4999c52437 add text & voice channle in config file 2021-01-07 20:15:21 +01:00
Milka64 e790569a27 log debug → info 2021-01-06 20:33:16 +01:00
Milka64 ef24e2a2bf check if config file exists 2021-01-05 20:01:44 +01:00
Milka64 e391b138e5 add config file in args 2021-01-05 19:41:08 +01:00
Milka64 1861f39450 fix update error 2021-01-04 18:33:48 +01:00
Milka64 de994a3592 fix welcome error 2021-01-04 18:31:32 +01:00
Milka64 3aea250608 add update for audio repository 2021-01-04 18:24:30 +01:00
Milka64 a8cc570aa4 add audio path in config file 2021-01-04 18:21:02 +01:00
Milka64 21c7969b2a Merge branch 'master' of http://git.0w.tf/Milka64/kabot 2021-01-04 18:00:38 +01:00
Milka64 bbdd26a24c add config sample 2021-01-04 18:00:16 +01:00
Milka64 0f830d8c18 add config sample 2020-12-30 19:02:01 +01:00
Milka64 310c4288a4 remove credentials 2020-12-26 23:46:02 +01:00
Milka64 f74d152d81 fix issue print seconde edition 2020-12-26 18:47:05 +01:00
Milka64 da70ab9d8c fix issue print 2020-12-26 18:34:36 +01:00
BFlow 812c5139a2 hihi 2020-12-17 13:58:04 +00:00
Milka64 84b09f4217 try to fix restart cmd again 2020-12-13 18:33:37 +01:00
Milka64 68525eeafd try to fix restart cmd again 2020-12-13 18:28:57 +01:00
Milka64 f127c9ed75 fix gitlab -> Gitlab #23 2020-12-13 18:21:20 +01:00
Milka64 ebae4dabbd fuuuuuuu #23 2020-12-13 18:10:29 +01:00
Milka64 84637f4f32 fucking comma #23 2020-12-13 17:13:08 +01:00
Milka64 91b758faa9 fix error for #23 2020-12-13 17:10:14 +01:00
Milka64 3beea52ed9 typo for #23 2020-12-13 16:55:21 +01:00
Milka64 29de2a539a clean code for #23 2020-12-13 16:51:19 +01:00
Milka64 283a3919f0 wait for leave vocal before restart #41 2020-12-13 16:25:37 +01:00
Milka64 502911be81 check if voice enabled #41 2020-12-13 16:20:48 +01:00
Milka64 0bbe882e77 Merge branch 'Milka64-master-patch-96392' into 'master'
Update kabot/kabot/kabot.py

See merge request Milka64/kabot!1
2020-11-22 20:30:14 +00:00
758 changed files with 947 additions and 3852 deletions

29
.gitlab-ci.yml Normal file
View file

@ -0,0 +1,29 @@
stages:
- login
- build
- push
- deploy
variables:
GL_TOKEN: $GL_TOKEN
VERSION: '0.2.18'
deploy:
stage: deploy
script : sudo docker-compose --env-file /data/docker/compose-files/others.env -f /data/docker/compose-files/others.yml up -d
build:
stage: build
script:
- sudo docker build -t hub.0w.tf/milka64/kabot:$VERSION .
- sudo docker build -t hub.0w.tf/milka64/kabot:latest .
push:
stage: push
script:
- sudo docker push hub.0w.tf/milka64/kabot:$VERSION
- sudo docker push hub.0w.tf/milka64/kabot:latest
login:
stage: login
script: sudo docker login -u milka64 -p $GL_TOKEN hub.0w.tf

2
.idea/.gitignore vendored
View file

@ -1,2 +0,0 @@
# Default ignored files
/workspace.xml

View file

@ -1,6 +0,0 @@
<component name="InspectionProjectProfileManager">
<settings>
<option name="USE_PROJECT_PROFILE" value="false" />
<version value="1.0" />
</settings>
</component>

View file

@ -1,8 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="PYTHON_MODULE" version="4">
<component name="NewModuleRootManager">
<content url="file://$MODULE_DIR$" />
<orderEntry type="jdk" jdkName="Python 3.7 (kivy_tuto)" jdkType="Python SDK" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>

View file

@ -1,4 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.7 (kivy_tuto)" project-jdk-type="Python SDK" />
</project>

View file

@ -1,8 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/kabot.iml" filepath="$PROJECT_DIR$/.idea/kabot.iml" />
</modules>
</component>
</project>

View file

@ -1,6 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$" vcs="Git" />
</component>
</project>

View file

@ -1,14 +1,12 @@
FROM alpine FROM python:3.11
WORKDIR /app WORKDIR /usr/src/kabot
VOLUME /data ENV CONFIG_FILE=/data/config.ini
COPY kabot ./
COPY config.ini.sample /data/config.ini
COPY entrypoint.sh /
RUN apt update && apt install -y ffmpeg
RUN apt clean
RUN pip install --no-cache-dir /usr/src/kabot/
RUN apk add --update musl-dev python3-dev gcc python3 py3-pip git py3-lxml libxml2 libxml2-dev py3-pynacl\ CMD [ "/entrypoint.sh" ]
&& pip3 install --upgrade pip \
&& pip3 install bs4 requests giphy_client discord.py python-gitlab\
&& git clone https://git.0w.tf/Milka64/kabot.git
WORKDIR /app/kabot
RUN python3 bootstrap-buildout.py \
&& bin/buildout
CMD bin/kabot

View file

@ -10,7 +10,7 @@ Prerquire :
pip3 install zc.buildout pip3 install zc.buildout
clone this repositori, then : clone this repository, then :
.. code-block:: bash .. code-block:: bash
@ -22,4 +22,34 @@ Utilisation
.. code-block:: bash .. code-block:: bash
./bin/kabot ./bin/kabot -c config.ini
Configuration
-------------
.. code-block:: ini
[DEFAULT]
audio_path = /tmp/
voice_channel = channel_name
text_channel = channel_name
[discord]
token = <discord_token>
[gitlab]
url = https://gitlab.example.com/
token = <GITLAB_TOKEN>
[giphy]
token = <GIPHY_TOKEN>
Docker
------
.. code-block:: bash
docker build -t kabot .
docker run -v /pa/to/your/data:/data kabot:latest

View file

@ -1,210 +0,0 @@
##############################################################################
#
# Copyright (c) 2006 Zope Foundation and Contributors.
# All Rights Reserved.
#
# This software is subject to the provisions of the Zope Public License,
# Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution.
# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
# FOR A PARTICULAR PURPOSE.
#
##############################################################################
"""Bootstrap a buildout-based project
Simply run this script in a directory containing a buildout.cfg.
The script accepts buildout command-line options, so you can
use the -c option to specify an alternate configuration file.
"""
import os
import shutil
import sys
import tempfile
from optparse import OptionParser
__version__ = '2015-07-01'
# See zc.buildout's changelog if this version is up to date.
tmpeggs = tempfile.mkdtemp(prefix='bootstrap-')
usage = '''\
[DESIRED PYTHON FOR BUILDOUT] bootstrap.py [options]
Bootstraps a buildout-based project.
Simply run this script in a directory containing a buildout.cfg, using the
Python that you want bin/buildout to use.
Note that by using --find-links to point to local resources, you can keep
this script from going over the network.
'''
parser = OptionParser(usage=usage)
parser.add_option("--version",
action="store_true", default=False,
help=("Return bootstrap.py version."))
parser.add_option("-t", "--accept-buildout-test-releases",
dest='accept_buildout_test_releases',
action="store_true", default=False,
help=("Normally, if you do not specify a --version, the "
"bootstrap script and buildout gets the newest "
"*final* versions of zc.buildout and its recipes and "
"extensions for you. If you use this flag, "
"bootstrap and buildout will get the newest releases "
"even if they are alphas or betas."))
parser.add_option("-c", "--config-file",
help=("Specify the path to the buildout configuration "
"file to be used."))
parser.add_option("-f", "--find-links",
help=("Specify a URL to search for buildout releases"))
parser.add_option("--allow-site-packages",
action="store_true", default=False,
help=("Let bootstrap.py use existing site packages"))
parser.add_option("--buildout-version",
help="Use a specific zc.buildout version")
parser.add_option("--setuptools-version",
help="Use a specific setuptools version")
parser.add_option("--setuptools-to-dir",
help=("Allow for re-use of existing directory of "
"setuptools versions"))
options, args = parser.parse_args()
if options.version:
print("bootstrap.py version %s" % __version__)
sys.exit(0)
######################################################################
# load/install setuptools
try:
from urllib.request import urlopen
except ImportError:
from urllib2 import urlopen
ez = {}
if os.path.exists('ez_setup.py'):
exec(open('ez_setup.py').read(), ez)
else:
exec(urlopen('https://bootstrap.pypa.io/ez_setup.py').read(), ez)
if not options.allow_site_packages:
# ez_setup imports site, which adds site packages
# this will remove them from the path to ensure that incompatible versions
# of setuptools are not in the path
import site
# inside a virtualenv, there is no 'getsitepackages'.
# We can't remove these reliably
if hasattr(site, 'getsitepackages'):
for sitepackage_path in site.getsitepackages():
# Strip all site-packages directories from sys.path that
# are not sys.prefix; this is because on Windows
# sys.prefix is a site-package directory.
if sitepackage_path != sys.prefix:
sys.path[:] = [x for x in sys.path
if sitepackage_path not in x]
setup_args = dict(to_dir=tmpeggs, download_delay=0)
if options.setuptools_version is not None:
setup_args['version'] = options.setuptools_version
if options.setuptools_to_dir is not None:
setup_args['to_dir'] = options.setuptools_to_dir
ez['use_setuptools'](**setup_args)
import setuptools
import pkg_resources
# This does not (always?) update the default working set. We will
# do it.
for path in sys.path:
if path not in pkg_resources.working_set.entries:
pkg_resources.working_set.add_entry(path)
######################################################################
# Install buildout
ws = pkg_resources.working_set
setuptools_path = ws.find(
pkg_resources.Requirement.parse('setuptools')).location
# Fix sys.path here as easy_install.pth added before PYTHONPATH
cmd = [sys.executable, '-c',
'import sys; sys.path[0:0] = [%r]; ' % setuptools_path +
'from setuptools.command.easy_install import main; main()',
'-mZqNxd', tmpeggs]
find_links = os.environ.get(
'bootstrap-testing-find-links',
options.find_links or
('http://downloads.buildout.org/'
if options.accept_buildout_test_releases else None)
)
if find_links:
cmd.extend(['-f', find_links])
requirement = 'zc.buildout'
version = options.buildout_version
if version is None and not options.accept_buildout_test_releases:
# Figure out the most recent final version of zc.buildout.
import setuptools.package_index
_final_parts = '*final-', '*final'
def _final_version(parsed_version):
try:
return not parsed_version.is_prerelease
except AttributeError:
# Older setuptools
for part in parsed_version:
if (part[:1] == '*') and (part not in _final_parts):
return False
return True
index = setuptools.package_index.PackageIndex(
search_path=[setuptools_path])
if find_links:
index.add_find_links((find_links,))
req = pkg_resources.Requirement.parse(requirement)
if index.obtain(req) is not None:
best = []
bestv = None
for dist in index[req.project_name]:
distv = dist.parsed_version
if _final_version(distv):
if bestv is None or distv > bestv:
best = [dist]
bestv = distv
elif distv == bestv:
best.append(dist)
if best:
best.sort()
version = best[-1].version
if version:
requirement = '=='.join((requirement, version))
cmd.append(requirement)
import subprocess
if subprocess.call(cmd) != 0:
raise Exception(
"Failed to execute command:\n%s" % repr(cmd)[1:-1])
######################################################################
# Import and run buildout
ws.add_entry(tmpeggs)
ws.require(requirement)
import zc.buildout.buildout
if not [a for a in args if '=' not in a]:
args.append('bootstrap')
# if -c was provided, we push it back into args for buildout' main function
if options.config_file is not None:
args[0:0] = ['-c', options.config_file]
zc.buildout.buildout.main(args)
shutil.rmtree(tmpeggs)

View file

@ -1,45 +0,0 @@
[buildout]
show-picked-versions = true
extends = pinned.cfg
package = kabot
develop =
kabot
mr-dev/discord
mr-dev/giphy
parts +=
kabot
doc
extensions = mr.developer
sources-dir = mr-dev
auto-checkout =
discord
giphy
[kabot]
recipe = zc.recipe.egg
eggs =
${buildout:package}
cookiecutter
discord.py
PyNaCl
requests
giphy_client
python-gitlab
interpreter = python
[doc]
recipe = zc.recipe.egg
eggs =
${buildout:package}
[sources]
discord = git https://github.com/Rapptz/discord.py.git
giphy = git https://github.com/Giphy/giphy-python-client.git
[logging]
logger_root_level = DEBUG

16
config.ini.sample Normal file
View file

@ -0,0 +1,16 @@
[DEFAULT]
logs = /var/log/kabot.log
audio_path = /tmp/
voice_channel = channel_name
text_channel = channel_name
[discord]
token = <discord_token>
[gitlab]
url = https://gitlab.example.com/
token = <GITLAB_TOKEN>
[giphy]
token = <GIPHY_TOKEN>

3
entrypoint.sh Executable file
View file

@ -0,0 +1,3 @@
#!/bin/sh
kabot -c $CONFIG_FILE

View file

@ -1,15 +0,0 @@
* Kabot version:
* Python version:
* Operating System:
### Description
Describe what you were trying to get done.
Tell us what happened, what went wrong, and what you expected to happen.
### What I Did
```
Paste the command(s) you ran and the output.
If there was a crash, please include the traceback here.
```

View file

@ -3,6 +3,7 @@ include CONTRIBUTING.rst
include HISTORY.rst include HISTORY.rst
include LICENSE include LICENSE
include README.rst include README.rst
include kabot/utils/ressources/*
recursive-include tests * recursive-include tests *
recursive-exclude * __pycache__ recursive-exclude * __pycache__

View file

@ -1,88 +0,0 @@
.PHONY: clean clean-test clean-pyc clean-build docs help
.DEFAULT_GOAL := help
define BROWSER_PYSCRIPT
import os, webbrowser, sys
try:
from urllib import pathname2url
except:
from urllib.request import pathname2url
webbrowser.open("file://" + pathname2url(os.path.abspath(sys.argv[1])))
endef
export BROWSER_PYSCRIPT
define PRINT_HELP_PYSCRIPT
import re, sys
for line in sys.stdin:
match = re.match(r'^([a-zA-Z_-]+):.*?## (.*)$$', line)
if match:
target, help = match.groups()
print("%-20s %s" % (target, help))
endef
export PRINT_HELP_PYSCRIPT
BROWSER := python -c "$$BROWSER_PYSCRIPT"
help:
@python -c "$$PRINT_HELP_PYSCRIPT" < $(MAKEFILE_LIST)
clean: clean-build clean-pyc clean-test ## remove all build, test, coverage and Python artifacts
clean-build: ## remove build artifacts
rm -fr build/
rm -fr dist/
rm -fr .eggs/
find . -name '*.egg-info' -exec rm -fr {} +
find . -name '*.egg' -exec rm -f {} +
clean-pyc: ## remove Python file artifacts
find . -name '*.pyc' -exec rm -f {} +
find . -name '*.pyo' -exec rm -f {} +
find . -name '*~' -exec rm -f {} +
find . -name '__pycache__' -exec rm -fr {} +
clean-test: ## remove test and coverage artifacts
rm -fr .tox/
rm -f .coverage
rm -fr htmlcov/
rm -fr .pytest_cache
lint: ## check style with flake8
flake8 kabot tests
test: ## run tests quickly with the default Python
python setup.py test
test-all: ## run tests on every Python version with tox
tox
coverage: ## check code coverage quickly with the default Python
coverage run --source kabot setup.py test
coverage report -m
coverage html
$(BROWSER) htmlcov/index.html
docs: ## generate Sphinx HTML documentation, including API docs
rm -f docs/kabot.rst
rm -f docs/modules.rst
sphinx-apidoc -o docs/ kabot
$(MAKE) -C docs clean
$(MAKE) -C docs html
$(BROWSER) docs/_build/html/index.html
servedocs: docs ## compile the docs watching for changes
watchmedo shell-command -p '*.rst' -c '$(MAKE) -C docs html' -R -D .
release: dist ## package and upload a release
twine upload dist/*
dist: clean ## builds source and wheel package
python setup.py sdist
python setup.py bdist_wheel
ls -l dist
install: clean ## install the package to the active Python's site-packages
python setup.py install

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show more