1
0
mirror of https://github.com/anope/anope.git synced 2026-06-18 15:54:46 +02:00

Compare commits

...

52 Commits

Author SHA1 Message Date
Sadie Powell 147638bf5a Release 2.1.21. 2026-02-07 13:23:13 +00:00
Sadie Powell 1d8086b12d Update the change log. 2026-02-06 17:31:01 +00:00
Sadie Powell e6fcf3ffb3 Make being unable to write the database fatal as it was in db_flatifle. 2026-02-06 17:17:08 +00:00
Sadie Powell de122145d9 Fix locking modes that take parameters only when adding. 2026-02-06 16:51:17 +00:00
Sadie Powell 84b94bdbf1 Fix some uses of Entry that didn't have their arguments swapped. 2026-01-30 11:09:28 +01:00
Sadie Powell 5a4781161a Update the change log. 2026-01-30 09:27:58 +00:00
Sadie Powell 7b70119294 Merge branch '2.0' into 2.1. 2026-01-30 08:52:32 +00:00
Sadie Powell bc9e035038 Extract all public types in Doxygen documentation. 2026-01-30 08:51:21 +00:00
Sadie Powell c3e62d3772 Improve the usability of adding hostmasks to access lists.
* When adding a user by their nickname check for their account
  instead of just adding their hostmask.

* Allow opting out of cleaning up of malformed hostmasks.
2026-01-28 19:47:56 +00:00
Sadie Powell 48bb6089fa Swap the mode and mask params to Entry and make the mode optional. 2026-01-26 18:57:29 +00:00
Sadie Powell debfa59be6 Bump for 2.0.20-git. 2026-01-26 13:55:35 +00:00
Sadie Powell e321749d1f Release 2.0.19. 2026-01-26 13:53:05 +00:00
Sadie Powell 8a2d7526cd Update the change log. 2026-01-26 13:52:40 +00:00
Sadie Powell a0676ef8b1 Merge branch '2.0' into 2.1. 2026-01-26 13:11:45 +00:00
Sadie Powell e1f34ee5d6 Add a Doxygen config file. 2026-01-26 13:11:17 +00:00
Sadie Powell 6e18030285 Improve the ban mask parsing in Entry. 2026-01-20 12:34:55 +00:00
Sadie Powell 172f443421 Improve the error messages when an access list is full. 2026-01-19 11:53:54 +00:00
Sadie Powell 655c4fb5eb Clean up the target mask code in access modules. 2026-01-19 10:43:59 +00:00
Sadie Powell 650f953cb1 Clean up masks when adding them to an access list.
Closes #554.
2026-01-19 00:35:31 +00:00
Sadie Powell db3f60292f Fix importing the last used time of nicks in db_atheme. 2026-01-16 23:43:13 +00:00
Sadie Powell 792308ed5d Rename ChanUserContainer to Membership. 2026-01-14 17:17:37 +00:00
Sadie Powell 3af9da7c05 Update the change log. 2026-01-14 16:43:29 +00:00
Sadie Powell 59d8c28c85 Fix changing user passwords with SASET.
Closes #553.
2026-01-12 17:11:15 +00:00
Sadie Powell 520826cdea Remove some dead code from the webcpanel module. 2026-01-10 21:41:22 +00:00
Sadie Powell bfb47ab5a6 Rework the interface for service references. 2026-01-10 21:23:23 +00:00
Sadie Powell 25cd6c96e3 Fix cloning akick entries in cs_clone. 2026-01-10 17:45:01 +00:00
Sadie Powell 5dbbac21ec Fix confirming usernames using the webcpanel. 2026-01-08 14:30:08 +00:00
Sadie Powell 81aa37543e Merge branch '2.0' into 2.1. 2026-01-01 18:07:12 +00:00
Sadie Powell 4ac5cf89e3 Update the copyright headers for 2025. 2026-01-01 18:04:37 +00:00
dependabot[bot] c479bc75d9 Bump actions/cache from 4 to 5
Bumps [actions/cache](https://github.com/actions/cache) from 4 to 5.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-01 16:14:00 +00:00
dependabot[bot] 6e4dc4947e Bump actions/upload-artifact from 5 to 6
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 5 to 6.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v5...v6)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-01 16:13:49 +00:00
Sadie Powell 05002301cc Fix a crash when clearing the entry message list. 2025-12-27 10:47:58 +00:00
Sadie Powell 1d18ba3358 Fix RequireVersion to use an unsigned integer. 2025-12-20 00:13:35 +00:00
Sadie Powell 65827611e7 Add better error handling in Anope::LastError. 2025-12-20 00:13:35 +00:00
Sadie Powell 0ae67cb371 Rename Serializable::id to object_id to avoid conflicts. 2025-12-20 00:13:35 +00:00
Sadie Powell 93e5b871e1 Version numbers should be unsigned. 2025-12-17 14:30:45 +00:00
Sadie Powell 0f433ebe9c Remove or fix various useless uses of const. 2025-12-17 14:10:42 +00:00
Sadie Powell 3e8c5b2685 Comment out options that users generally shouldn't change. 2025-12-17 14:10:10 +00:00
Sadie Powell 3fe9097439 The default expiry is 30 days not 90 days.
Ref: #548
2025-12-16 23:56:16 +00:00
Sadie Powell 57446ee49b Improve the BotServ fantasy commands
- Allow multiple character fantasy prefixes.
- Allow using the command alias as the command prefix.
- Match the service name case insensitively.
2025-12-14 11:14:07 +00:00
Sadie Powell 852aae5e4f Fix the syntax of chanserv/suspend and nickserv/suspend.
Closes #540
Closes #547
2025-12-13 20:23:20 +00:00
Sadie Powell caa9b27a6c Fix the spelling of unload in os_module. 2025-12-13 15:06:37 +00:00
Sadie Powell adcdaeca04 Fix the documented default for {chanserv}:expire.
Closes #548.
2025-12-12 16:19:00 +00:00
Sadie Powell 641e011e13 Fix inconsistencies in reading the NickServ expiry time. 2025-12-12 16:16:42 +00:00
Sadie Powell aba75c1f31 Fix an inverted condition in ns_email. 2025-12-11 10:57:54 +00:00
Sadie Powell f367820714 Implement better rehash detection support in enc_argon2. 2025-12-08 11:44:34 +00:00
Sadie Powell f526932882 Backport CI changes from the 2.1 branch. 2025-12-03 16:26:32 +00:00
Sadie Powell db2f7ca192 Merge branch '2.0' into 2.1. 2025-12-03 16:20:33 +00:00
Sadie Powell 5a9f581491 Fix chanserv/enforce enforcing against founders.
Closes #532.
2025-12-03 16:18:50 +00:00
dependabot[bot] 6b707049f2 Bump actions/upload-artifact from 4 to 5
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4 to 5.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-01 19:42:24 +00:00
dependabot[bot] 3d845097de Bump actions/checkout from 5 to 6
Bumps [actions/checkout](https://github.com/actions/checkout) from 5 to 6.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v5...v6)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-01 19:42:04 +00:00
Sadie Powell f368f5c541 Bump for 2.1.21-git. 2025-12-01 12:41:21 +00:00
363 changed files with 1452 additions and 892 deletions
+1 -1
View File
@@ -14,7 +14,7 @@ jobs:
CXX: ${{ matrix.compiler }}
CXXFLAGS: -Werror
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v6
- name: Install dependencies
run: |
+1 -1
View File
@@ -13,7 +13,7 @@ jobs:
CXX: ${{ matrix.compiler }}
CXXFLAGS: -Werror
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v6
- name: Install dependencies
run: |
+4 -4
View File
@@ -17,7 +17,7 @@ jobs:
CONAN_USER_HOME: ${{ github.workspace }}/win/build
CONAN_USER_HOME_SHORT: None
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v6
- name: Setup NSIS
run: |-
@@ -32,7 +32,7 @@ jobs:
version: 1.66.0
- name: Try to restore libraries from the cache
uses: actions/cache/restore@v4
uses: actions/cache/restore@v5
id: library-cache
with:
key: conan-${{ hashFiles('src/win32/conanfile.txt') }}
@@ -44,7 +44,7 @@ jobs:
- name: Save libraries to the cache
if: ${{ steps.library-cache.outputs.cache-hit != 'true' }}
uses: actions/cache/save@v4
uses: actions/cache/save@v5
with:
key: ${{ steps.library-cache.outputs.cache-primary-key }}
path: ${{ env.CONAN_USER_HOME }}/.conan
@@ -70,7 +70,7 @@ jobs:
- name: Upload artifact
if: "${{ github.event_name != 'release' }}"
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v6
with:
name: windows-installer
path: ${{ github.workspace }}\build\\anope-*.exe
+1
View File
@@ -1,5 +1,6 @@
build/
config.cache
docs/doxygen
include/sysconf.h
modules/enc_argon2.cpp
modules/enc_posix.cpp
+1 -1
View File
@@ -2,7 +2,7 @@
#
# Anope IRC Services <https://www.anope.org/>
#
# Copyright (C) 2003-2025 Anope Contributors
# Copyright (C) 2003-2026 Anope Contributors
#
# Anope is free software. You can use, modify, and/or distribute it under the
# terms of version 2 of the GNU General Public License. See docs/LICENSE.txt
+1 -1
View File
@@ -328,7 +328,7 @@ networkinfo
*
* It is recommended you DON'T change this.
*/
vhost_chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.-/"
#vhost_chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.-/"
/*
* If enabled, allows vhosts to not contain dots (.).
+11 -8
View File
@@ -352,22 +352,25 @@ module
name = "fantasy"
/*
* Defines the prefixes for fantasy commands in channels. One of these characters will have to be prepended
* to all fantasy commands. If you choose "!", for example, fantasy commands will be "!kick",
* "!op", etc. This directive is optional, if left out, the default fantasy character is "!".
* Defines the prefixes for fantasy commands in channels. One of these will
* have to be prepended to all fantasy commands. For example, If you choose
* "! ?" as your prefix fantasy commands will be "!kick", "?op", etc.
*
* This directive is optional, it defaults to "!" if not set.
*/
#fantasycharacter = "!."
#prefix = "! ?"
}
command { service = "BotServ"; name = "SET FANTASY"; command = "botserv/set/fantasy"; }
/*
* Fantasy commands
*
* Fantasy commands can be executed in channels that have a BotServ bot by prefixing the
* command with one of the fantasy characters configured in botserv's fantasycharacter
* directive.
* Fantasy commands can be executed in channels that have a BotServ bot assigned
* by prefixing the command with one of the fantasy characters configured in the
* {botserv}:prefix directive.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
* Sane defaults are provided below that do not need to be edited unless you
* wish to change the default behavior.
*/
fantasy { name = "ACCESS"; command = "chanserv/access"; }
fantasy { name = "AKICK"; command = "chanserv/akick"; }
+7 -1
View File
@@ -119,7 +119,7 @@ module
/*
* The length of time before a channel registration expires.
*
* This directive is optional. If not set, the default is never.
* This directive is optional. If not set, the default is 30 days.
*/
#expire = 90d
@@ -179,6 +179,12 @@ module
*/
disallow_channel_access = no
/*
* If set, prevents malformed hostmasks from being added to access lists
* instead of attempting to fix their format.
*/
#disallow_malformed_hostmask = yes
/*
* If set, ChanServ will always lower the timestamp of registered channels to their registration date.
* This prevents several race conditions where unauthorized users can join empty registered channels and set
+40
View File
@@ -1,5 +1,45 @@
# Anope Change Log
## Anope 2.1.21 (2026-02-07)
### Breaking Changes
* `{fantasy}:fantasycharacter` has been replaced with `{fantasy}:prefix` which allows multiple-character fantasy prefixes. If you have multiple custom fantasy characters set you should separate them with a space when upgrading your config.
* The db_json module will now terminate the process if it fails to write the database. This replicates the behaviour previously used by the db_flatfile module.
* When adding an unregistered user to an access list you must now explicitly specify their hostmask. This prevents accidentally adding a hostmask which is too wide.
### Changes
* Added cleaning up of hostmasks when adding them to an access list and `{chanserv}:disallow_malformed_hostmask` to allow rejecting them instead.
* Changed access commands to add the account of a user who is logged in to an account but not using a nickname belonging to that account.
* Fixed a crash when clearing channel entry messages.
* Fixed a memory leak when cloning akicks.
* Fixed cleaning up ban masks.
* Fixed confirming accounts using the webcpanel.
* Fixed importing the time a nickname was used from Atheme.
* Fixed limiting the number of accounts per email address.
* Fixed locking modes that take a parameter when they are added.
* Fixed the `chanserv/enforce` command erroneously enforcing against channel founders.
* Fixed the syntax of the `chanserv/suspend` command.
* Fixed the syntax of the `nickserv/suspend` command.
* Improved password rehash detection in the enc_argon2 module.
* Various minor improvements to how services work internally.
## Anope 2.1.20 (2025-12-01)
### Breaking Changes
+313
View File
@@ -0,0 +1,313 @@
DOXYFILE_ENCODING = UTF-8
PROJECT_NAME = "Anope"
PROJECT_NUMBER = 2.0
PROJECT_BRIEF =
PROJECT_LOGO =
PROJECT_ICON = src/win32/anope-icon.ico
OUTPUT_DIRECTORY = docs/doxygen
CREATE_SUBDIRS = NO
CREATE_SUBDIRS_LEVEL = 8
ALLOW_UNICODE_NAMES = NO
OUTPUT_LANGUAGE = English
BRIEF_MEMBER_DESC = YES
REPEAT_BRIEF = YES
ABBREVIATE_BRIEF = "The $name class" \
"The $name widget" \
"The $name file" \
is \
provides \
specifies \
contains \
represents \
a \
an \
the
ALWAYS_DETAILED_SEC = NO
INLINE_INHERITED_MEMB = NO
FULL_PATH_NAMES = YES
STRIP_FROM_PATH =
STRIP_FROM_INC_PATH =
SHORT_NAMES = NO
JAVADOC_AUTOBRIEF = NO
JAVADOC_BANNER = NO
QT_AUTOBRIEF = NO
MULTILINE_CPP_IS_BRIEF = NO
PYTHON_DOCSTRING = YES
INHERIT_DOCS = YES
SEPARATE_MEMBER_PAGES = NO
TAB_SIZE = 4
ALIASES =
OPTIMIZE_OUTPUT_FOR_C = NO
OPTIMIZE_OUTPUT_JAVA = NO
OPTIMIZE_FOR_FORTRAN = NO
OPTIMIZE_OUTPUT_VHDL = NO
OPTIMIZE_OUTPUT_SLICE = NO
EXTENSION_MAPPING =
MARKDOWN_SUPPORT = YES
TOC_INCLUDE_HEADINGS = 5
MARKDOWN_ID_STYLE = GITHUB
AUTOLINK_SUPPORT = YES
AUTOLINK_IGNORE_WORDS =
BUILTIN_STL_SUPPORT = YES
CPP_CLI_SUPPORT = NO
SIP_SUPPORT = NO
IDL_PROPERTY_SUPPORT = YES
DISTRIBUTE_GROUP_DOC = NO
GROUP_NESTED_COMPOUNDS = NO
SUBGROUPING = YES
INLINE_GROUPED_CLASSES = NO
INLINE_SIMPLE_STRUCTS = NO
TYPEDEF_HIDES_STRUCT = NO
LOOKUP_CACHE_SIZE = 0
NUM_PROC_THREADS = 0
TIMESTAMP = NO
EXTRACT_ALL = YES
EXTRACT_PRIVATE = NO
EXTRACT_PRIV_VIRTUAL = NO
EXTRACT_PACKAGE = NO
EXTRACT_STATIC = NO
EXTRACT_LOCAL_CLASSES = NO
EXTRACT_LOCAL_METHODS = NO
EXTRACT_ANON_NSPACES = NO
RESOLVE_UNNAMED_PARAMS = YES
HIDE_UNDOC_MEMBERS = NO
HIDE_UNDOC_CLASSES = NO
HIDE_UNDOC_NAMESPACES = YES
HIDE_FRIEND_COMPOUNDS = NO
HIDE_IN_BODY_DOCS = NO
INTERNAL_DOCS = NO
CASE_SENSE_NAMES = SYSTEM
HIDE_SCOPE_NAMES = NO
HIDE_COMPOUND_REFERENCE= NO
SHOW_HEADERFILE = YES
SHOW_INCLUDE_FILES = YES
SHOW_GROUPED_MEMB_INC = NO
FORCE_LOCAL_INCLUDES = NO
INLINE_INFO = YES
SORT_MEMBER_DOCS = YES
SORT_BRIEF_DOCS = NO
SORT_MEMBERS_CTORS_1ST = NO
SORT_GROUP_NAMES = NO
SORT_BY_SCOPE_NAME = NO
STRICT_PROTO_MATCHING = NO
GENERATE_TODOLIST = YES
GENERATE_TESTLIST = YES
GENERATE_BUGLIST = YES
GENERATE_DEPRECATEDLIST= YES
ENABLED_SECTIONS =
MAX_INITIALIZER_LINES = 30
SHOW_USED_FILES = YES
SHOW_FILES = YES
SHOW_NAMESPACES = YES
FILE_VERSION_FILTER =
LAYOUT_FILE =
CITE_BIB_FILES =
EXTERNAL_TOOL_PATH =
QUIET = NO
WARNINGS = YES
WARN_IF_UNDOCUMENTED = NO
WARN_IF_DOC_ERROR = YES
WARN_IF_INCOMPLETE_DOC = YES
WARN_NO_PARAMDOC = NO
WARN_IF_UNDOC_ENUM_VAL = NO
WARN_LAYOUT_FILE = YES
WARN_AS_ERROR = NO
WARN_FORMAT = "$file:$line: $text"
WARN_LINE_FORMAT = "at line $line of file $file"
WARN_LOGFILE =
INPUT = README.md \
include
INPUT_ENCODING = UTF-8
INPUT_FILE_ENCODING =
FILE_PATTERNS =
RECURSIVE = YES
EXCLUDE =
EXCLUDE_SYMLINKS = YES
EXCLUDE_PATTERNS =
EXCLUDE_SYMBOLS =
EXAMPLE_PATH =
EXAMPLE_PATTERNS =
EXAMPLE_RECURSIVE = NO
IMAGE_PATH =
INPUT_FILTER =
FILTER_PATTERNS =
FILTER_SOURCE_FILES = NO
FILTER_SOURCE_PATTERNS =
USE_MDFILE_AS_MAINPAGE = README.md
IMPLICIT_DIR_DOCS = YES
FORTRAN_COMMENT_AFTER = 72
SOURCE_BROWSER = NO
INLINE_SOURCES = NO
STRIP_CODE_COMMENTS = YES
REFERENCED_BY_RELATION = NO
REFERENCES_RELATION = NO
REFERENCES_LINK_SOURCE = YES
SOURCE_TOOLTIPS = YES
USE_HTAGS = NO
VERBATIM_HEADERS = YES
ALPHABETICAL_INDEX = YES
IGNORE_PREFIX =
GENERATE_HTML = YES
HTML_OUTPUT = html
HTML_FILE_EXTENSION = .html
HTML_HEADER =
HTML_FOOTER =
HTML_STYLESHEET =
HTML_EXTRA_STYLESHEET =
HTML_EXTRA_FILES =
HTML_COLORSTYLE = AUTO_LIGHT
HTML_COLORSTYLE_HUE = 220
HTML_COLORSTYLE_SAT = 100
HTML_COLORSTYLE_GAMMA = 80
HTML_DYNAMIC_MENUS = YES
HTML_DYNAMIC_SECTIONS = NO
HTML_CODE_FOLDING = YES
HTML_COPY_CLIPBOARD = YES
HTML_PROJECT_COOKIE =
HTML_INDEX_NUM_ENTRIES = 100
GENERATE_DOCSET = NO
DOCSET_FEEDNAME = "Doxygen generated documentation"
DOCSET_FEEDURL =
DOCSET_BUNDLE_ID = org.doxygen.Project
DOCSET_PUBLISHER_ID = org.doxygen.Publisher
DOCSET_PUBLISHER_NAME = Publisher
GENERATE_HTMLHELP = NO
CHM_FILE =
HHC_LOCATION =
GENERATE_CHI = NO
CHM_INDEX_ENCODING =
BINARY_TOC = NO
TOC_EXPAND = NO
SITEMAP_URL =
GENERATE_QHP = NO
QCH_FILE =
QHP_NAMESPACE = org.doxygen.Project
QHP_VIRTUAL_FOLDER = doc
QHP_CUST_FILTER_NAME =
QHP_CUST_FILTER_ATTRS =
QHP_SECT_FILTER_ATTRS =
QHG_LOCATION =
GENERATE_ECLIPSEHELP = NO
ECLIPSE_DOC_ID = org.doxygen.Project
DISABLE_INDEX = NO
GENERATE_TREEVIEW = NO
FULL_SIDEBAR = NO
ENUM_VALUES_PER_LINE = 4
SHOW_ENUM_VALUES = NO
TREEVIEW_WIDTH = 250
EXT_LINKS_IN_WINDOW = NO
OBFUSCATE_EMAILS = YES
HTML_FORMULA_FORMAT = png
FORMULA_FONTSIZE = 10
FORMULA_MACROFILE =
USE_MATHJAX = NO
MATHJAX_VERSION = MathJax_2
MATHJAX_FORMAT = HTML-CSS
MATHJAX_RELPATH = http://cdn.mathjax.org/mathjax/latest
MATHJAX_EXTENSIONS =
MATHJAX_CODEFILE =
SEARCHENGINE = YES
SERVER_BASED_SEARCH = NO
EXTERNAL_SEARCH = NO
SEARCHENGINE_URL =
SEARCHDATA_FILE = searchdata.xml
EXTERNAL_SEARCH_ID =
EXTRA_SEARCH_MAPPINGS =
GENERATE_LATEX = NO
LATEX_OUTPUT = latex
LATEX_CMD_NAME =
MAKEINDEX_CMD_NAME = makeindex
LATEX_MAKEINDEX_CMD = makeindex
COMPACT_LATEX = NO
PAPER_TYPE = a4
EXTRA_PACKAGES =
LATEX_HEADER =
LATEX_FOOTER =
LATEX_EXTRA_STYLESHEET =
LATEX_EXTRA_FILES =
PDF_HYPERLINKS = YES
USE_PDFLATEX = YES
LATEX_BATCHMODE = NO
LATEX_HIDE_INDICES = NO
LATEX_BIB_STYLE = plainnat
LATEX_EMOJI_DIRECTORY =
GENERATE_RTF = NO
RTF_OUTPUT = rtf
COMPACT_RTF = NO
RTF_HYPERLINKS = NO
RTF_STYLESHEET_FILE =
RTF_EXTENSIONS_FILE =
RTF_EXTRA_FILES =
GENERATE_MAN = NO
MAN_OUTPUT = man
MAN_EXTENSION = .3
MAN_SUBDIR =
MAN_LINKS = NO
GENERATE_XML = NO
XML_OUTPUT = xml
XML_PROGRAMLISTING = YES
XML_NS_MEMB_FILE_SCOPE = NO
GENERATE_DOCBOOK = NO
DOCBOOK_OUTPUT = docbook
GENERATE_AUTOGEN_DEF = NO
GENERATE_SQLITE3 = NO
SQLITE3_OUTPUT = sqlite3
SQLITE3_RECREATE_DB = YES
GENERATE_PERLMOD = NO
PERLMOD_LATEX = NO
PERLMOD_PRETTY = YES
PERLMOD_MAKEVAR_PREFIX =
ENABLE_PREPROCESSING = YES
MACRO_EXPANSION = YES
EXPAND_ONLY_PREDEF = NO
SEARCH_INCLUDES = YES
INCLUDE_PATH =
INCLUDE_FILE_PATTERNS =
PREDEFINED = CoreExport=/**/ \
ATTR_NOT_NULL(...)=/**/
EXPAND_AS_DEFINED =
SKIP_FUNCTION_MACROS = YES
TAGFILES =
GENERATE_TAGFILE =
ALLEXTERNALS = NO
EXTERNAL_GROUPS = YES
EXTERNAL_PAGES = YES
HIDE_UNDOC_RELATIONS = YES
HAVE_DOT = NO
DOT_NUM_THREADS = 0
DOT_COMMON_ATTR = "fontname=Helvetica,fontsize=10"
DOT_EDGE_ATTR = "labelfontname=Helvetica,labelfontsize=10"
DOT_NODE_ATTR = "shape=box,height=0.2,width=0.4"
DOT_FONTPATH =
CLASS_GRAPH = YES
COLLABORATION_GRAPH = YES
GROUP_GRAPHS = YES
UML_LOOK = NO
UML_LIMIT_NUM_FIELDS = 10
DOT_UML_DETAILS = NO
DOT_WRAP_THRESHOLD = 17
TEMPLATE_RELATIONS = NO
INCLUDE_GRAPH = YES
INCLUDED_BY_GRAPH = YES
CALL_GRAPH = NO
CALLER_GRAPH = NO
GRAPHICAL_HIERARCHY = YES
DIRECTORY_GRAPH = YES
DIR_GRAPH_MAX_DEPTH = 1
DOT_IMAGE_FORMAT = png
INTERACTIVE_SVG = NO
DOT_PATH =
DOTFILE_DIRS =
DIA_PATH =
DIAFILE_DIRS =
PLANTUML_JAR_PATH =
PLANTUML_CFG_FILE =
PLANTUML_INCLUDE_PATH =
PLANTUMLFILE_DIRS =
DOT_GRAPH_MAX_NODES = 50
MAX_DOT_GRAPH_DEPTH = 0
DOT_MULTI_TARGETS = NO
GENERATE_LEGEND = YES
DOT_CLEANUP = YES
MSCGEN_TOOL =
MSCFILE_DIRS =
+1 -1
View File
@@ -43,7 +43,7 @@ Anope Modules
MODLOAD Load a module
MODRELOAD Reload a module
MODUNLOAD Un-Load a module
MODUNLOAD Unload a module
MODLIST List loaded modules
MODINFO Info about a loaded module
+1 -1
View File
@@ -1,7 +1,7 @@
Anope -- a set of IRC services for IRC networks
-----------------------------------------------
Anope is 2003-2025 Anope Team <team@anope.org>.
Anope is 2003-2026 Anope Team <team@anope.org>.
Based on Epona 2000-2002 PegSoft <epona@pegsoft.net>.
Based on Services 1996-1999 Andrew Church <achurch@achurch.org>.
+1 -1
View File
@@ -1,6 +1,6 @@
// Anope IRC Services <https://www.anope.org/>
//
// Copyright (C) 2003-2025 Anope Contributors
// Copyright (C) 2003-2026 Anope Contributors
//
// Anope is free software. You can use, modify, and/or distribute it under the
// terms of version 2 of the GNU General Public License. See docs/LICENSE.txt
+1 -1
View File
@@ -1,6 +1,6 @@
// Anope IRC Services <https://www.anope.org/>
//
// Copyright (C) 2003-2025 Anope Contributors
// Copyright (C) 2003-2026 Anope Contributors
//
// Anope is free software. You can use, modify, and/or distribute it under the
// terms of version 2 of the GNU General Public License. See docs/LICENSE.txt
+4 -4
View File
@@ -1,6 +1,6 @@
// Anope IRC Services <https://www.anope.org/>
//
// Copyright (C) 2003-2025 Anope Contributors
// Copyright (C) 2003-2026 Anope Contributors
//
// Anope is free software. You can use, modify, and/or distribute it under the
// terms of version 2 of the GNU General Public License. See docs/LICENSE.txt
@@ -418,9 +418,9 @@ namespace Anope
extern CoreExport string Version();
extern CoreExport string VersionShort();
extern CoreExport string VersionBuildString();
extern CoreExport int VersionMajor();
extern CoreExport int VersionMinor();
extern CoreExport int VersionPatch();
extern CoreExport unsigned VersionMajor();
extern CoreExport unsigned VersionMinor();
extern CoreExport unsigned VersionPatch();
/** Determines if we are still attached to the terminal, and can print
* messages to the user via stderr/stdout.
+1 -1
View File
@@ -1,6 +1,6 @@
// Anope IRC Services <https://www.anope.org/>
//
// Copyright (C) 2003-2025 Anope Contributors
// Copyright (C) 2003-2026 Anope Contributors
// Copyright (C) 2008-2011 Adam <Adam@anope.org>
//
// Anope is free software. You can use, modify, and/or distribute it under the
+1 -1
View File
@@ -1,6 +1,6 @@
// Anope IRC Services <https://www.anope.org/>
//
// Copyright (C) 2003-2025 Anope Contributors
// Copyright (C) 2003-2026 Anope Contributors
// Copyright (C) 2008-2011 Robin Burchell <w00t@inspircd.org>
//
// Anope is free software. You can use, modify, and/or distribute it under the
+13 -9
View File
@@ -1,6 +1,6 @@
// Anope IRC Services <https://www.anope.org/>
//
// Copyright (C) 2003-2025 Anope Contributors
// Copyright (C) 2003-2026 Anope Contributors
//
// Anope is free software. You can use, modify, and/or distribute it under the
// terms of version 2 of the GNU General Public License. See docs/LICENSE.txt
@@ -23,8 +23,8 @@ typedef Anope::unordered_map<Channel *> channel_map;
extern CoreExport channel_map ChannelList;
/* A user container, there is one of these per user per channel. */
struct ChanUserContainer final
/* A user's membership to a channel, there is one of these per user per channel. */
struct Membership final
: public Extensible
{
User *user;
@@ -32,7 +32,11 @@ struct ChanUserContainer final
/* Status the user has in the channel */
ChannelStatus status;
ChanUserContainer(User *u, Channel *c) : user(u), chan(c) { }
Membership(User *u, Channel *c)
: user(u)
, chan(c)
{
}
};
class CoreExport Channel final
@@ -61,7 +65,7 @@ public:
bool botchannel = false;
/* Users in the channel */
typedef std::map<User *, ChanUserContainer *> ChanUserList;
typedef std::map<User *, Membership *> ChanUserList;
ChanUserList users;
/* Current topic of the channel */
@@ -114,9 +118,9 @@ public:
/** Join a user internally to the channel
* @param u The user
* @param status The status to give the user, if any
* @return The UserContainer for the user
* @return The membership for the user
*/
ChanUserContainer *JoinUser(User *u, const ChannelStatus *status);
Membership *JoinUser(User *u, const ChannelStatus *status);
/** Remove a user internally from the channel
* @param u The user
@@ -125,9 +129,9 @@ public:
/** Check if the user is on the channel
* @param u The user
* @return A user container if found, else NULL
* @return A membership if found, else NULL
*/
ChanUserContainer *FindUser(User *u) const;
Membership *FindUser(User *u) const;
/** Check if a user has a status on a channel
* @param u The user
+2 -2
View File
@@ -1,6 +1,6 @@
// Anope IRC Services <https://www.anope.org/>
//
// Copyright (C) 2003-2025 Anope Contributors
// Copyright (C) 2003-2026 Anope Contributors
//
// Anope is free software. You can use, modify, and/or distribute it under the
// terms of version 2 of the GNU General Public License. See docs/LICENSE.txt
@@ -148,7 +148,7 @@ public:
* @param source The source wanting the command description
* @return The commands description
*/
virtual const Anope::string GetDesc(CommandSource &source) const;
virtual Anope::string GetDesc(CommandSource &source) const;
/** Execute this command.
* @param source The source
+1 -1
View File
@@ -1,6 +1,6 @@
// Anope IRC Services <https://www.anope.org/>
//
// Copyright (C) 2003-2025 Anope Contributors
// Copyright (C) 2003-2026 Anope Contributors
//
// Anope is free software. You can use, modify, and/or distribute it under the
// terms of version 2 of the GNU General Public License. See docs/LICENSE.txt
+1 -1
View File
@@ -1,6 +1,6 @@
// Anope IRC Services <https://www.anope.org/>
//
// Copyright (C) 2003-2025 Anope Contributors
// Copyright (C) 2003-2026 Anope Contributors
//
// Anope is free software. You can use, modify, and/or distribute it under the
// terms of version 2 of the GNU General Public License. See docs/LICENSE.txt
+2 -2
View File
@@ -1,6 +1,6 @@
// Anope IRC Services <https://www.anope.org/>
//
// Copyright (C) 2003-2025 Anope Contributors
// Copyright (C) 2003-2026 Anope Contributors
//
// Anope is free software. You can use, modify, and/or distribute it under the
// terms of version 2 of the GNU General Public License. See docs/LICENSE.txt
@@ -22,7 +22,6 @@ class Channel;
class ChannelInfo;
class ChannelStatus;
namespace ChanServ { class AutoKick; class ModeLock; }
struct ChanUserContainer;
class ClientSocket;
class Command;
class CommandSource;
@@ -35,6 +34,7 @@ class InfoFormatter;
class IRCDProto;
class ListenSocket;
class Log;
struct Membership;
class Memo;
struct MemoInfo;
class MessageSource;
+1 -1
View File
@@ -1,6 +1,6 @@
// Anope IRC Services <https://www.anope.org/>
//
// Copyright (C) 2003-2025 Anope Contributors
// Copyright (C) 2003-2026 Anope Contributors
//
// Anope is free software. You can use, modify, and/or distribute it under the
// terms of version 2 of the GNU General Public License. See docs/LICENSE.txt
+1 -1
View File
@@ -1,6 +1,6 @@
// Anope IRC Services <https://www.anope.org/>
//
// Copyright (C) 2003-2025 Anope Contributors
// Copyright (C) 2003-2026 Anope Contributors
// Copyright (C) 2009-2011 InspIRCd Development Team
//
// Anope is free software. You can use, modify, and/or distribute it under the
+4 -1
View File
@@ -1,6 +1,6 @@
// Anope IRC Services <https://www.anope.org/>
//
// Copyright (C) 2003-2025 Anope Contributors
// Copyright (C) 2003-2026 Anope Contributors
//
// Anope is free software. You can use, modify, and/or distribute it under the
// terms of version 2 of the GNU General Public License. See docs/LICENSE.txt
@@ -137,7 +137,10 @@ namespace Language
#define BOT_NOT_ASSIGNED _("You must assign a bot to the channel before using this command.")
#define BOT_NOT_ON_CHANNEL _("Bot is not on channel \002%s\002.")
#define CHAN_ACCESS_LIMIT N_("You can only have %u access entry on a channel.", "You can only have %u access entries on a channel.")
#define CHAN_ACCESS_LIMIT_DEEP N_("You can only have %u access entry on a channel, including access entries from other channels.", "You can only have %u access entries on a channel, including access entries from other channels.")
#define CHAN_ACCESS_LEVEL_RANGE _("Access level must be between %d and %d inclusive.")
#define CHAN_ACCESS_MALFORMED _("You cannot add a malformed mask to an access list. Did you mean to add %s instead?")
#define CHAN_EXCEPTED _("\002%s\002 matches an except on %s and cannot be banned until the except has been removed.")
#define CHAN_INFO_HEADER _("Information about channel \002%s\002:")
#define CHAN_LIMIT_EXCEEDED _("You have already exceeded your limit of \002%d\002 channels.")
+1 -1
View File
@@ -1,6 +1,6 @@
// Anope IRC Services <https://www.anope.org/>
//
// Copyright (C) 2003-2025 Anope Contributors
// Copyright (C) 2003-2026 Anope Contributors
//
// Anope is free software. You can use, modify, and/or distribute it under the
// terms of version 2 of the GNU General Public License. See docs/LICENSE.txt
+1 -1
View File
@@ -1,6 +1,6 @@
// Anope IRC Services <https://www.anope.org/>
//
// Copyright (C) 2003-2025 Anope Contributors
// Copyright (C) 2003-2026 Anope Contributors
//
// Anope is free software. You can use, modify, and/or distribute it under the
// terms of version 2 of the GNU General Public License. See docs/LICENSE.txt
+1 -1
View File
@@ -1,6 +1,6 @@
// Anope IRC Services <https://www.anope.org/>
//
// Copyright (C) 2003-2025 Anope Contributors
// Copyright (C) 2003-2026 Anope Contributors
//
// Anope is free software. You can use, modify, and/or distribute it under the
// terms of version 2 of the GNU General Public License. See docs/LICENSE.txt
+1 -1
View File
@@ -1,6 +1,6 @@
// Anope IRC Services <https://www.anope.org/>
//
// Copyright (C) 2003-2025 Anope Contributors
// Copyright (C) 2003-2026 Anope Contributors
//
// Anope is free software. You can use, modify, and/or distribute it under the
// terms of version 2 of the GNU General Public License. See docs/LICENSE.txt
+1 -1
View File
@@ -1,6 +1,6 @@
// Anope IRC Services <https://www.anope.org/>
//
// Copyright (C) 2003-2025 Anope Contributors
// Copyright (C) 2003-2026 Anope Contributors
//
// Anope is free software. You can use, modify, and/or distribute it under the
// terms of version 2 of the GNU General Public License. See docs/LICENSE.txt
+5 -4
View File
@@ -1,6 +1,6 @@
// Anope IRC Services <https://www.anope.org/>
//
// Copyright (C) 2003-2025 Anope Contributors
// Copyright (C) 2003-2026 Anope Contributors
// Copyright (C) 2008-2011 Adam <Adam@anope.org>
//
// Anope is free software. You can use, modify, and/or distribute it under the
@@ -441,17 +441,18 @@ public:
Anope::string nick, user, host, real;
/** Constructor
* @param mask A full or partial nick!ident@host/cidr#real name mask
* @param mode What mode this host is for, can be empty for unknown/no mode
* @param host A full or partial nick!ident@host/cidr#real name mask
* @Param real Whether to allow a real name in the mask.
*/
Entry(const Anope::string &mode, const Anope::string &host);
Entry(const Anope::string &mask, const Anope::string &mode = "", bool real = true);
/** Get the banned mask for this entry
* @return The mask
*/
Anope::string GetMask() const;
Anope::string GetNUHMask() const;
Anope::string GetCleanMask() const;
/** Check if this entry matches a user
* @param u The user
+1 -1
View File
@@ -1,6 +1,6 @@
// Anope IRC Services <https://www.anope.org/>
//
// Copyright (C) 2003-2025 Anope Contributors
// Copyright (C) 2003-2026 Anope Contributors
//
// Anope is free software. You can use, modify, and/or distribute it under the
// terms of version 2 of the GNU General Public License. See docs/LICENSE.txt
+11 -11
View File
@@ -1,6 +1,6 @@
// Anope IRC Services <https://www.anope.org/>
//
// Copyright (C) 2003-2025 Anope Contributors
// Copyright (C) 2003-2026 Anope Contributors
//
// Anope is free software. You can use, modify, and/or distribute it under the
// terms of version 2 of the GNU General Public License. See docs/LICENSE.txt
@@ -169,7 +169,7 @@ typedef unsigned short ModType;
struct ModuleVersionC final
{
int version_major, version_minor, version_patch;
unsigned version_major, version_minor, version_patch;
};
/** Returned by Module::GetVersion, used to see what version of Anope
@@ -178,9 +178,9 @@ struct ModuleVersionC final
class ModuleVersion final
{
private:
int version_major;
int version_minor;
int version_patch;
unsigned version_major;
unsigned version_minor;
unsigned version_patch;
public:
ModuleVersion(const ModuleVersionC &);
@@ -188,17 +188,17 @@ public:
/** Get the major version of Anope this was built against
* @return The major version
*/
int GetMajor() const;
unsigned GetMajor() const;
/** Get the minor version of Anope this was built against
* @return The minor version
*/
int GetMinor() const;
unsigned GetMinor() const;
/** Get the patch version this was built against
* @return The patch version
*/
int GetPatch() const;
unsigned GetPatch() const;
};
class CoreExport NotImplementedException final
@@ -292,10 +292,10 @@ public:
/** Called before a user has been kicked from a channel.
* @param source The kicker
* @param cu The user, channel, and status of the user being kicked
* @param memb The membership for the user who is being kicked
* @param kickmsg The reason for the kick.
*/
virtual void OnPreUserKicked(const MessageSource &source, ChanUserContainer *cu, const Anope::string &kickmsg) ATTR_NOT_NULL(3) { throw NotImplementedException(); }
virtual void OnPreUserKicked(const MessageSource &source, Membership *memb, const Anope::string &kickmsg) ATTR_NOT_NULL(3) { throw NotImplementedException(); }
/** Called when a user has been kicked from a channel.
* @param source The kicker
@@ -1271,7 +1271,7 @@ public:
* @param minor The minor version
* @param patch The patch version
*/
static void RequireVersion(int major, int minor, int patch);
static void RequireVersion(unsigned major, unsigned minor, unsigned patch);
/** Change the priority of one event in a module.
* Each module event has a list of modules which are attached to that event type. If you wish to be called before or after other specific modules, you may use this
+1 -1
View File
@@ -1,6 +1,6 @@
// Anope IRC Services <https://www.anope.org/>
//
// Copyright (C) 2003-2025 Anope Contributors
// Copyright (C) 2003-2026 Anope Contributors
//
// Anope is free software. You can use, modify, and/or distribute it under the
// terms of version 2 of the GNU General Public License. See docs/LICENSE.txt
+1 -1
View File
@@ -1,6 +1,6 @@
// Anope IRC Services <https://www.anope.org/>
//
// Copyright (C) 2003-2025 Anope Contributors
// Copyright (C) 2003-2026 Anope Contributors
//
// Anope is free software. You can use, modify, and/or distribute it under the
// terms of version 2 of the GNU General Public License. See docs/LICENSE.txt
+1 -1
View File
@@ -1,6 +1,6 @@
// Anope IRC Services <https://www.anope.org/>
//
// Copyright (C) 2003-2025 Anope Contributors
// Copyright (C) 2003-2026 Anope Contributors
//
// Anope is free software. You can use, modify, and/or distribute it under the
// terms of version 2 of the GNU General Public License. See docs/LICENSE.txt
+3 -3
View File
@@ -1,6 +1,6 @@
// Anope IRC Services <https://www.anope.org/>
//
// Copyright (C) 2003-2025 Anope Contributors
// Copyright (C) 2003-2026 Anope Contributors
//
// Anope is free software. You can use, modify, and/or distribute it under the
// terms of version 2 of the GNU General Public License. See docs/LICENSE.txt
@@ -49,8 +49,8 @@ protected:
public:
virtual ~EntryMessageList()
{
while (!(*this)->empty())
delete (*this)->back();
for (auto i = (*this)->size(); i > 0; --i)
delete (*this)->at(i - 1);
}
virtual ChanServ::EntryMessage *Create() = 0;
+1 -1
View File
@@ -1,6 +1,6 @@
// Anope IRC Services <https://www.anope.org/>
//
// Copyright (C) 2003-2025 Anope Contributors
// Copyright (C) 2003-2026 Anope Contributors
//
// Anope is free software. You can use, modify, and/or distribute it under the
// terms of version 2 of the GNU General Public License. See docs/LICENSE.txt
+1 -1
View File
@@ -1,6 +1,6 @@
// Anope IRC Services <https://www.anope.org/>
//
// Copyright (C) 2003-2025 Anope Contributors
// Copyright (C) 2003-2026 Anope Contributors
//
// Anope is free software. You can use, modify, and/or distribute it under the
// terms of version 2 of the GNU General Public License. See docs/LICENSE.txt
+1 -1
View File
@@ -1,6 +1,6 @@
// Anope IRC Services <https://www.anope.org/>
//
// Copyright (C) 2003-2025 Anope Contributors
// Copyright (C) 2003-2026 Anope Contributors
//
// Anope is free software. You can use, modify, and/or distribute it under the
// terms of version 2 of the GNU General Public License. See docs/LICENSE.txt
+1 -1
View File
@@ -1,6 +1,6 @@
// Anope IRC Services <https://www.anope.org/>
//
// Copyright (C) 2003-2025 Anope Contributors
// Copyright (C) 2003-2026 Anope Contributors
//
// Anope is free software. You can use, modify, and/or distribute it under the
// terms of version 2 of the GNU General Public License. See docs/LICENSE.txt
+1 -1
View File
@@ -1,6 +1,6 @@
// Anope IRC Services <https://www.anope.org/>
//
// Copyright (C) 2003-2025 Anope Contributors
// Copyright (C) 2003-2026 Anope Contributors
//
// Anope is free software. You can use, modify, and/or distribute it under the
// terms of version 2 of the GNU General Public License. See docs/LICENSE.txt
+1 -1
View File
@@ -1,6 +1,6 @@
// Anope IRC Services <https://www.anope.org/>
//
// Copyright (C) 2003-2025 Anope Contributors
// Copyright (C) 2003-2026 Anope Contributors
//
// Anope is free software. You can use, modify, and/or distribute it under the
// terms of version 2 of the GNU General Public License. See docs/LICENSE.txt
+1 -1
View File
@@ -1,6 +1,6 @@
// Anope IRC Services <https://www.anope.org/>
//
// Copyright (C) 2003-2025 Anope Contributors
// Copyright (C) 2003-2026 Anope Contributors
//
// Anope is free software. You can use, modify, and/or distribute it under the
// terms of version 2 of the GNU General Public License. See docs/LICENSE.txt
+2 -2
View File
@@ -1,6 +1,6 @@
// Anope IRC Services <https://www.anope.org/>
//
// Copyright (C) 2003-2025 Anope Contributors
// Copyright (C) 2003-2026 Anope Contributors
//
// Anope is free software. You can use, modify, and/or distribute it under the
// terms of version 2 of the GNU General Public License. See docs/LICENSE.txt
@@ -152,7 +152,7 @@ public:
{
}
virtual const Anope::string GetIP()
virtual Anope::string GetIP() const
{
return this->clientaddr.addr();
}
+1 -1
View File
@@ -1,6 +1,6 @@
// Anope IRC Services <https://www.anope.org/>
//
// Copyright (C) 2003-2025 Anope Contributors
// Copyright (C) 2003-2026 Anope Contributors
//
// Anope is free software. You can use, modify, and/or distribute it under the
// terms of version 2 of the GNU General Public License. See docs/LICENSE.txt
+1 -1
View File
@@ -1,6 +1,6 @@
// Anope IRC Services <https://www.anope.org/>
//
// Copyright (C) 2003-2025 Anope Contributors
// Copyright (C) 2003-2026 Anope Contributors
//
// Anope is free software. You can use, modify, and/or distribute it under the
// terms of version 2 of the GNU General Public License. See docs/LICENSE.txt
+1 -1
View File
@@ -1,6 +1,6 @@
// Anope IRC Services <https://www.anope.org/>
//
// Copyright (C) 2003-2025 Anope Contributors
// Copyright (C) 2003-2026 Anope Contributors
//
// Anope is free software. You can use, modify, and/or distribute it under the
// terms of version 2 of the GNU General Public License. See docs/LICENSE.txt
+1 -1
View File
@@ -1,6 +1,6 @@
// Anope IRC Services <https://www.anope.org/>
//
// Copyright (C) 2003-2025 Anope Contributors
// Copyright (C) 2003-2026 Anope Contributors
//
// Anope is free software. You can use, modify, and/or distribute it under the
// terms of version 2 of the GNU General Public License. See docs/LICENSE.txt
+1 -1
View File
@@ -1,6 +1,6 @@
// Anope IRC Services <https://www.anope.org/>
//
// Copyright (C) 2003-2025 Anope Contributors
// Copyright (C) 2003-2026 Anope Contributors
//
// Anope is free software. You can use, modify, and/or distribute it under the
// terms of version 2 of the GNU General Public License. See docs/LICENSE.txt
+1 -1
View File
@@ -1,6 +1,6 @@
// Anope IRC Services <https://www.anope.org/>
//
// Copyright (C) 2003-2025 Anope Contributors
// Copyright (C) 2003-2026 Anope Contributors
//
// Anope is free software. You can use, modify, and/or distribute it under the
// terms of version 2 of the GNU General Public License. See docs/LICENSE.txt
+1 -1
View File
@@ -1,6 +1,6 @@
// Anope IRC Services <https://www.anope.org/>
//
// Copyright (C) 2003-2025 Anope Contributors
// Copyright (C) 2003-2026 Anope Contributors
//
// Anope is free software. You can use, modify, and/or distribute it under the
// terms of version 2 of the GNU General Public License. See docs/LICENSE.txt
+1 -1
View File
@@ -1,6 +1,6 @@
// Anope IRC Services <https://www.anope.org/>
//
// Copyright (C) 2003-2025 Anope Contributors
// Copyright (C) 2003-2026 Anope Contributors
//
// Anope is free software. You can use, modify, and/or distribute it under the
// terms of version 2 of the GNU General Public License. See docs/LICENSE.txt
+1 -1
View File
@@ -1,6 +1,6 @@
// Anope IRC Services <https://www.anope.org/>
//
// Copyright (C) 2003-2025 Anope Contributors
// Copyright (C) 2003-2026 Anope Contributors
//
// Anope is free software. You can use, modify, and/or distribute it under the
// terms of version 2 of the GNU General Public License. See docs/LICENSE.txt
+1 -1
View File
@@ -1,6 +1,6 @@
// Anope IRC Services <https://www.anope.org/>
//
// Copyright (C) 2003-2025 Anope Contributors
// Copyright (C) 2003-2026 Anope Contributors
//
// Anope is free software. You can use, modify, and/or distribute it under the
// terms of version 2 of the GNU General Public License. See docs/LICENSE.txt
+1 -1
View File
@@ -1,6 +1,6 @@
// Anope IRC Services <https://www.anope.org/>
//
// Copyright (C) 2003-2025 Anope Contributors
// Copyright (C) 2003-2026 Anope Contributors
//
// Anope is free software. You can use, modify, and/or distribute it under the
// terms of version 2 of the GNU General Public License. See docs/LICENSE.txt
+1 -1
View File
@@ -1,6 +1,6 @@
// Anope IRC Services <https://www.anope.org/>
//
// Copyright (C) 2003-2025 Anope Contributors
// Copyright (C) 2003-2026 Anope Contributors
//
// Anope is free software. You can use, modify, and/or distribute it under the
// terms of version 2 of the GNU General Public License. See docs/LICENSE.txt
+1 -1
View File
@@ -1,6 +1,6 @@
// Anope IRC Services <https://www.anope.org/>
//
// Copyright (C) 2003-2025 Anope Contributors
// Copyright (C) 2003-2026 Anope Contributors
//
// Anope is free software. You can use, modify, and/or distribute it under the
// terms of version 2 of the GNU General Public License. See docs/LICENSE.txt
+1 -1
View File
@@ -1,6 +1,6 @@
// Anope IRC Services <https://www.anope.org/>
//
// Copyright (C) 2003-2025 Anope Contributors
// Copyright (C) 2003-2026 Anope Contributors
//
// Anope is free software. You can use, modify, and/or distribute it under the
// terms of version 2 of the GNU General Public License. See docs/LICENSE.txt
+3 -3
View File
@@ -1,6 +1,6 @@
// Anope IRC Services <https://www.anope.org/>
//
// Copyright (C) 2003-2025 Anope Contributors
// Copyright (C) 2003-2026 Anope Contributors
//
// Anope is free software. You can use, modify, and/or distribute it under the
// terms of version 2 of the GNU General Public License. See docs/LICENSE.txt
@@ -157,7 +157,7 @@ namespace SQL
}
}
const Anope::string Get(size_t index, const Anope::string &col) const
Anope::string Get(size_t index, const Anope::string &col) const
{
const std::map<Anope::string, Anope::string> rows = this->Row(index);
@@ -197,7 +197,7 @@ namespace SQL
virtual std::vector<Query> CreateTable(const Anope::string &table, const Data &data) = 0;
virtual Query BuildInsert(const Anope::string &table, unsigned int id, Data &data) = 0;
virtual Query BuildInsert(const Anope::string &table, Serializable::Id id, Data &data) = 0;
virtual Query GetTables(const Anope::string &prefix) = 0;
+1 -1
View File
@@ -1,6 +1,6 @@
// Anope IRC Services <https://www.anope.org/>
//
// Copyright (C) 2003-2025 Anope Contributors
// Copyright (C) 2003-2026 Anope Contributors
//
// Anope is free software. You can use, modify, and/or distribute it under the
// terms of version 2 of the GNU General Public License. See docs/LICENSE.txt
+1 -1
View File
@@ -1,6 +1,6 @@
// Anope IRC Services <https://www.anope.org/>
//
// Copyright (C) 2003-2025 Anope Contributors
// Copyright (C) 2003-2026 Anope Contributors
//
// Anope is free software. You can use, modify, and/or distribute it under the
// terms of version 2 of the GNU General Public License. See docs/LICENSE.txt
+1 -1
View File
@@ -1,6 +1,6 @@
// Anope IRC Services <https://www.anope.org/>
//
// Copyright (C) 2003-2025 Anope Contributors
// Copyright (C) 2003-2026 Anope Contributors
//
// Anope is free software. You can use, modify, and/or distribute it under the
// terms of version 2 of the GNU General Public License. See docs/LICENSE.txt
+1 -1
View File
@@ -1,6 +1,6 @@
// Anope IRC Services <https://www.anope.org/>
//
// Copyright (C) 2003-2025 Anope Contributors
// Copyright (C) 2003-2026 Anope Contributors
// Copyright (C) 2008-2011 Robin Burchell <w00t@inspircd.org>
//
// Anope is free software. You can use, modify, and/or distribute it under the
+1 -1
View File
@@ -1,6 +1,6 @@
// Anope IRC Services <https://www.anope.org/>
//
// Copyright (C) 2003-2025 Anope Contributors
// Copyright (C) 2003-2026 Anope Contributors
//
// Anope is free software. You can use, modify, and/or distribute it under the
// terms of version 2 of the GNU General Public License. See docs/LICENSE.txt
+1 -1
View File
@@ -1,6 +1,6 @@
// Anope IRC Services <https://www.anope.org/>
//
// Copyright (C) 2003-2025 Anope Contributors
// Copyright (C) 2003-2026 Anope Contributors
//
// Anope is free software. You can use, modify, and/or distribute it under the
// terms of version 2 of the GNU General Public License. See docs/LICENSE.txt
+1 -1
View File
@@ -1,6 +1,6 @@
// Anope IRC Services <https://www.anope.org/>
//
// Copyright (C) 2003-2025 Anope Contributors
// Copyright (C) 2003-2026 Anope Contributors
//
// Anope is free software. You can use, modify, and/or distribute it under the
// terms of version 2 of the GNU General Public License. See docs/LICENSE.txt
+2 -2
View File
@@ -1,6 +1,6 @@
// Anope IRC Services <https://www.anope.org/>
//
// Copyright (C) 2003-2025 Anope Contributors
// Copyright (C) 2003-2026 Anope Contributors
//
// Anope is free software. You can use, modify, and/or distribute it under the
// terms of version 2 of the GNU General Public License. See docs/LICENSE.txt
@@ -118,7 +118,7 @@ public:
virtual ~Serializable();
/* Unique ID (per type, not globally) for this object */
Id id = 0;
Id object_id = 0;
/* Only used by redis, to ignore updates */
unsigned short redis_ignore = 0;
+1 -1
View File
@@ -1,6 +1,6 @@
// Anope IRC Services <https://www.anope.org/>
//
// Copyright (C) 2003-2025 Anope Contributors
// Copyright (C) 2003-2026 Anope Contributors
//
// Anope is free software. You can use, modify, and/or distribute it under the
// terms of version 2 of the GNU General Public License. See docs/LICENSE.txt
+18 -8
View File
@@ -1,6 +1,6 @@
// Anope IRC Services <https://www.anope.org/>
//
// Copyright (C) 2003-2025 Anope Contributors
// Copyright (C) 2003-2026 Anope Contributors
//
// Anope is free software. You can use, modify, and/or distribute it under the
// terms of version 2 of the GNU General Public License. See docs/LICENSE.txt
@@ -138,20 +138,30 @@ class ServiceReference
Anope::string name;
public:
ServiceReference() = default;
ServiceReference(const Anope::string &t, const Anope::string &n) : type(t), name(n)
ServiceReference(const Anope::string &t, const Anope::string &n = "")
: type(t)
, name(n)
{
}
const Anope::string &GetServiceName() const { return name; }
/** Retrieves the name of the service (e.g. mysql/main). */
const auto &GetServiceName() const { return name; }
const Anope::string &GetServiceType() const { return type; }
/** Retrieves the type of the service (e.g. SQL::Provider). */
const auto &GetServiceType() const { return type; }
inline void operator=(const Anope::string &n)
/** Invalidates the reference and changes the name of the referenced service. */
void SetServiceName(const Anope::string& newname)
{
this->name = n;
this->invalid = true;
this->name = newname;
}
/** Invalidates the reference and changes the type of the referenced service. */
void SetServiceType(const Anope::string& newtype)
{
this->invalid = true;
this->type = newtype;
}
operator bool() override
+1 -1
View File
@@ -1,6 +1,6 @@
// Anope IRC Services <https://www.anope.org/>
//
// Copyright (C) 2003-2025 Anope Contributors
// Copyright (C) 2003-2026 Anope Contributors
//
// Anope is free software. You can use, modify, and/or distribute it under the
// terms of version 2 of the GNU General Public License. See docs/LICENSE.txt
+1 -1
View File
@@ -1,6 +1,6 @@
// Anope IRC Services <https://www.anope.org/>
//
// Copyright (C) 2003-2025 Anope Contributors
// Copyright (C) 2003-2026 Anope Contributors
//
// Anope is free software. You can use, modify, and/or distribute it under the
// terms of version 2 of the GNU General Public License. See docs/LICENSE.txt
+1 -1
View File
@@ -1,6 +1,6 @@
// Anope IRC Services <https://www.anope.org/>
//
// Copyright (C) 2003-2025 Anope Contributors
// Copyright (C) 2003-2026 Anope Contributors
//
// Anope is free software. You can use, modify, and/or distribute it under the
// terms of version 2 of the GNU General Public License. See docs/LICENSE.txt
+1 -1
View File
@@ -1,6 +1,6 @@
// Anope IRC Services <https://www.anope.org/>
//
// Copyright (C) 2003-2025 Anope Contributors
// Copyright (C) 2003-2026 Anope Contributors
//
// Anope is free software. You can use, modify, and/or distribute it under the
// terms of version 2 of the GNU General Public License. See docs/LICENSE.txt
+1 -1
View File
@@ -1,6 +1,6 @@
// Anope IRC Services <https://www.anope.org/>
//
// Copyright (C) 2003-2025 Anope Contributors
// Copyright (C) 2003-2026 Anope Contributors
//
// Anope is free software. You can use, modify, and/or distribute it under the
// terms of version 2 of the GNU General Public License. See docs/LICENSE.txt
+1 -1
View File
@@ -1,6 +1,6 @@
// Anope IRC Services <https://www.anope.org/>
//
// Copyright (C) 2003-2025 Anope Contributors
// Copyright (C) 2003-2026 Anope Contributors
//
// Anope is free software. You can use, modify, and/or distribute it under the
// terms of version 2 of the GNU General Public License. See docs/LICENSE.txt
+1 -1
View File
@@ -1,6 +1,6 @@
// Anope IRC Services <https://www.anope.org/>
//
// Copyright (C) 2003-2025 Anope Contributors
// Copyright (C) 2003-2026 Anope Contributors
//
// Anope is free software. You can use, modify, and/or distribute it under the
// terms of version 2 of the GNU General Public License. See docs/LICENSE.txt
+1 -1
View File
@@ -1,6 +1,6 @@
// Anope IRC Services <https://www.anope.org/>
//
// Copyright (C) 2003-2025 Anope Contributors
// Copyright (C) 2003-2026 Anope Contributors
//
// Anope is free software. You can use, modify, and/or distribute it under the
// terms of version 2 of the GNU General Public License. See docs/LICENSE.txt
+4 -4
View File
@@ -1,6 +1,6 @@
// Anope IRC Services <https://www.anope.org/>
//
// Copyright (C) 2003-2025 Anope Contributors
// Copyright (C) 2003-2026 Anope Contributors
// Copyright (C) 2008-2011 Robin Burchell <w00t@inspircd.org>
//
// Anope is free software. You can use, modify, and/or distribute it under the
@@ -89,7 +89,7 @@ public: // XXX: exposing a tiny bit too much
time_t awaytime = 0;
/* Channels the user is in */
typedef std::map<Channel *, ChanUserContainer *> ChanUserList;
typedef std::map<Channel *, Membership *> ChanUserList;
ChanUserList chans;
/* Last time this user sent a memo command used */
@@ -338,9 +338,9 @@ public:
* This is preferred over using FindUser in Channel, as there are usually more users in a channel
* than channels a user is in
* @param c The channel
* @return The channel container, or NULL
* @return The channel membership, or NULL
*/
ChanUserContainer *FindChannel(Channel *c) const;
Membership *FindChannel(Channel *c) const;
/** Check if the user is protected from kicks and negative mode changes
* @return true or false
+1 -1
View File
@@ -1,6 +1,6 @@
// Anope IRC Services <https://www.anope.org/>
//
// Copyright (C) 2003-2025 Anope Contributors
// Copyright (C) 2003-2026 Anope Contributors
//
// Anope is free software. You can use, modify, and/or distribute it under the
// terms of version 2 of the GNU General Public License. See docs/LICENSE.txt
+1 -1
View File
@@ -1,6 +1,6 @@
// Anope IRC Services <https://www.anope.org/>
//
// Copyright (C) 2003-2025 Anope Contributors
// Copyright (C) 2003-2026 Anope Contributors
//
// Anope is free software. You can use, modify, and/or distribute it under the
// terms of version 2 of the GNU General Public License. See docs/LICENSE.txt
+1 -1
View File
@@ -1,6 +1,6 @@
# Anope IRC Services <https://www.anope.org/>
#
# Copyright (C) 2003-2025 Anope Contributors
# Copyright (C) 2003-2026 Anope Contributors
# Copyright (C) 2011 Adam <Adam@anope.org>
#
# Anope is free software. You can use, modify, and/or distribute it under the
+1 -1
View File
@@ -1,6 +1,6 @@
# Anope IRC Services <https://www.anope.org/>
#
# Copyright (C) 2003-2025 Anope Contributors
# Copyright (C) 2003-2026 Anope Contributors
# Copyright (C) 2011 VisioN <vision@myirc.us>
#
# Anope is free software. You can use, modify, and/or distribute it under the
+25 -13
View File
@@ -1,6 +1,6 @@
# Anope IRC Services <https://www.anope.org/>
#
# Copyright (C) 2003-2025 Anope Contributors
# Copyright (C) 2003-2026 Anope Contributors
# Copyright (C) 2014 Adam <Adam@anope.org>
#
# Anope is free software. You can use, modify, and/or distribute it under the
@@ -16,8 +16,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Anope\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-11-25 00:37+0000\n"
"PO-Revision-Date: 2025-11-25 00:37+0000\n"
"POT-Creation-Date: 2026-01-28 19:44+0000\n"
"PO-Revision-Date: 2026-01-28 19:44+0000\n"
"Last-Translator: Sadie Powell <sadie@witchery.services>\n"
"Language-Team: English\n"
"Language: en_US\n"
@@ -1436,7 +1436,7 @@ msgid "Additionally, Services Operators with the nickserv/resend permission ca
msgstr ""
#, c-format
msgid "Additionally, if fantasy is enabled fantasy commands can be executed by prefixing the command name with one of the following characters: %s"
msgid "Additionally, if fantasy is enabled fantasy commands can be executed by prefixing the command name with one of the following fantasy prefixes: %s"
msgstr ""
#, c-format
@@ -2830,7 +2830,7 @@ msgstr ""
#, c-format
msgid ""
"Enables or disables fantasy mode on a channel. When it is enabled, users will be able to use fantasy commands on a channel when prefixed with one of the following fantasy characters: %s\n"
"Enables or disables fantasy mode on a channel. When it is enabled, users will be able to use fantasy commands on a channel when prefixed with one of the following fantasy prefixes: %s\n"
"\n"
"Note that users wanting to use fantasy commands MUST have enough access for both the FANTASY privilege and the command they are executing."
msgstr ""
@@ -3015,7 +3015,7 @@ msgid "Fantasy"
msgstr ""
#, c-format
msgid "Fantasy commands may be prefixed with one of the following characters: %s"
msgid "Fantasy commands may be prefixed with one of the following fantasy prefixes: %s"
msgstr ""
#, c-format
@@ -5855,9 +5855,6 @@ msgstr ""
msgid "Type %sregion to list timezones for a region."
msgstr ""
msgid "Un-Load a module"
msgstr ""
#, c-format
msgid "Unable to find regex engine %s."
msgstr ""
@@ -5921,6 +5918,9 @@ msgstr ""
msgid "Unknown passwords: %zu"
msgstr ""
msgid "Unload a module"
msgstr ""
msgid "Unpooled"
msgstr ""
@@ -6189,10 +6189,6 @@ msgstr ""
msgid "You can not send a single message while you have messages queued."
msgstr ""
#, c-format
msgid "You can only have %d access entries on a channel, including access entries from other channels."
msgstr ""
#, c-format
msgid "You can only have %d autokick masks on a channel."
msgstr ""
@@ -6201,6 +6197,18 @@ msgstr ""
msgid "You can only have %d bad words entries on a channel."
msgstr ""
#, c-format
msgid "You can only have %u access entry on a channel, including access entries from other channels."
msgid_plural "You can only have %u access entries on a channel, including access entries from other channels."
msgstr[0] ""
msgstr[1] ""
#, c-format
msgid "You can only have %u access entry on a channel."
msgid_plural "You can only have %u access entries on a channel."
msgstr[0] ""
msgstr[1] ""
#, c-format
msgid "You can't %s yourself!"
msgstr ""
@@ -6212,6 +6220,10 @@ msgstr ""
msgid "You can't logout %s, they are a Services Operator."
msgstr ""
#, c-format
msgid "You cannot add a malformed mask to an access list. Did you mean to add %s instead?"
msgstr ""
#, c-format
msgid "You cannot set the %c flag."
msgstr ""
+1 -1
View File
@@ -1,6 +1,6 @@
# Anope IRC Services <https://www.anope.org/>
#
# Copyright (C) 2003-2025 Anope Contributors
# Copyright (C) 2003-2026 Anope Contributors
# Copyright (C) 2011 Adam <Adam@anope.org>
#
# Anope is free software. You can use, modify, and/or distribute it under the
+1 -1
View File
@@ -1,6 +1,6 @@
# Anope IRC Services <https://www.anope.org/>
#
# Copyright (C) 2003-2025 Anope Contributors
# Copyright (C) 2003-2026 Anope Contributors
# Copyright (C) 2011 Adam <Adam@anope.org>
#
# Anope is free software. You can use, modify, and/or distribute it under the
+1 -1
View File
@@ -1,6 +1,6 @@
# Anope IRC Services <https://www.anope.org/>
#
# Copyright (C) 2003-2025 Anope Contributors
# Copyright (C) 2003-2026 Anope Contributors
# Copyright (C) 2011 Adam <Adam@anope.org>
#
# Anope is free software. You can use, modify, and/or distribute it under the
+1 -1
View File
@@ -1,6 +1,6 @@
# Anope IRC Services <https://www.anope.org/>
#
# Copyright (C) 2003-2025 Anope Contributors
# Copyright (C) 2003-2026 Anope Contributors
# Copyright (C) 2013-2025 Robby <robby@chatbelgie.be>
#
# Anope is free software. You can use, modify, and/or distribute it under the
+1 -1
View File
@@ -1,6 +1,6 @@
# Anope IRC Services <https://www.anope.org/>
#
# Copyright (C) 2003-2025 Anope Contributors
# Copyright (C) 2003-2026 Anope Contributors
# Copyright (C) 2011 Adam <Adam@anope.org>
#
# Anope is free software. You can use, modify, and/or distribute it under the
+1 -1
View File
@@ -1,6 +1,6 @@
# Anope IRC Services <https://www.anope.org/>
#
# Copyright (C) 2003-2025 Anope Contributors
# Copyright (C) 2003-2026 Anope Contributors
# Copyright (C) 2014 Adam <Adam@anope.org>
#
# Anope is free software. You can use, modify, and/or distribute it under the
+1 -1
View File
@@ -1,6 +1,6 @@
# Anope IRC Services <https://www.anope.org/>
#
# Copyright (C) 2003-2025 Anope Contributors
# Copyright (C) 2003-2026 Anope Contributors
# Copyright (C) 2015 Cristian Anghel <kidprotect-cristian@yahoo.com>
#
# Anope is free software. You can use, modify, and/or distribute it under the
+1 -1
View File
@@ -1,6 +1,6 @@
# Anope IRC Services <https://www.anope.org/>
#
# Copyright (C) 2003-2025 Anope Contributors
# Copyright (C) 2003-2026 Anope Contributors
# Copyright (C) 2011 Adam <Adam@anope.org>
#
# Anope is free software. You can use, modify, and/or distribute it under the
+7 -7
View File
@@ -1,6 +1,6 @@
// Anope IRC Services <https://www.anope.org/>
//
// Copyright (C) 2003-2025 Anope Contributors
// Copyright (C) 2003-2026 Anope Contributors
//
// Anope is free software. You can use, modify, and/or distribute it under the
// terms of version 2 of the GNU General Public License. See docs/LICENSE.txt
@@ -70,7 +70,7 @@ public:
// We have to check for bans.
for (const auto &entry : c->GetModeList("BAN"))
{
Entry ban("BAN", entry);
Entry ban(entry, "BAN");
if (ban.Matches(user))
c->RemoveMode(NULL, "BAN", ban.GetMask());
}
@@ -147,11 +147,11 @@ public:
),
source.service->nick.c_str());
const Anope::string &fantasycharacters = Config->GetModule("fantasy").Get<const Anope::string>("fantasycharacter", "!");
const Anope::string &fantasycharacters = Config->GetModule("fantasy").Get<const Anope::string>("prefix", "!");
if (!fantasycharacters.empty())
{
source.Reply(" ");
source.Reply(_("Fantasy commands may be prefixed with one of the following characters: %s"),
source.Reply(_("Fantasy commands may be prefixed with one of the following fantasy prefixes: %s"),
fantasycharacters.c_str());
}
source.Reply(" ");
@@ -187,13 +187,13 @@ public:
source.Reply(_("Bot will join a channel whenever there is at least \002%d\002 user(s) on it."),
Config->GetModule(this).Get<unsigned>("minusers"));
const Anope::string &fantasycharacters = Config->GetModule("fantasy").Get<const Anope::string>("fantasycharacter", "!");
const Anope::string &fantasycharacters = Config->GetModule("fantasy").Get<const Anope::string>("prefix", "!");
if (!fantasycharacters.empty())
{
source.Reply(_(
"Additionally, if fantasy is enabled fantasy commands "
"can be executed by prefixing the command name with "
"one of the following characters: %s"
"one of the following fantasy prefixes: %s"
),
fantasycharacters.c_str());
}
@@ -205,7 +205,7 @@ public:
{
BotInfo *bi = c->ci->bi;
Entry ban("BAN", data.value);
Entry ban(data.value, "BAN");
if (ban.Matches(bi))
c->RemoveMode(bi, "BAN", data.value);
}
+1 -1
View File
@@ -1,6 +1,6 @@
// Anope IRC Services <https://www.anope.org/>
//
// Copyright (C) 2003-2025 Anope Contributors
// Copyright (C) 2003-2026 Anope Contributors
//
// Anope is free software. You can use, modify, and/or distribute it under the
// terms of version 2 of the GNU General Public License. See docs/LICENSE.txt
+1 -1
View File
@@ -1,6 +1,6 @@
// Anope IRC Services <https://www.anope.org/>
//
// Copyright (C) 2003-2025 Anope Contributors
// Copyright (C) 2003-2026 Anope Contributors
//
// Anope is free software. You can use, modify, and/or distribute it under the
// terms of version 2 of the GNU General Public License. See docs/LICENSE.txt
+1 -1
View File
@@ -1,6 +1,6 @@
// Anope IRC Services <https://www.anope.org/>
//
// Copyright (C) 2003-2025 Anope Contributors
// Copyright (C) 2003-2026 Anope Contributors
//
// Anope is free software. You can use, modify, and/or distribute it under the
// terms of version 2 of the GNU General Public License. See docs/LICENSE.txt
+1 -1
View File
@@ -1,6 +1,6 @@
// Anope IRC Services <https://www.anope.org/>
//
// Copyright (C) 2003-2025 Anope Contributors
// Copyright (C) 2003-2026 Anope Contributors
//
// Anope is free software. You can use, modify, and/or distribute it under the
// terms of version 2 of the GNU General Public License. See docs/LICENSE.txt
+1 -1
View File
@@ -1,6 +1,6 @@
// Anope IRC Services <https://www.anope.org/>
//
// Copyright (C) 2003-2025 Anope Contributors
// Copyright (C) 2003-2026 Anope Contributors
//
// Anope is free software. You can use, modify, and/or distribute it under the
// terms of version 2 of the GNU General Public License. See docs/LICENSE.txt
+1 -1
View File
@@ -1,6 +1,6 @@
// Anope IRC Services <https://www.anope.org/>
//
// Copyright (C) 2003-2025 Anope Contributors
// Copyright (C) 2003-2026 Anope Contributors
//
// Anope is free software. You can use, modify, and/or distribute it under the
// terms of version 2 of the GNU General Public License. See docs/LICENSE.txt
+2 -2
View File
@@ -1,6 +1,6 @@
// Anope IRC Services <https://www.anope.org/>
//
// Copyright (C) 2003-2025 Anope Contributors
// Copyright (C) 2003-2026 Anope Contributors
//
// Anope is free software. You can use, modify, and/or distribute it under the
// terms of version 2 of the GNU General Public License. See docs/LICENSE.txt
@@ -107,7 +107,7 @@ public:
return true;
}
const Anope::string GetDesc(CommandSource &source) const override
Anope::string GetDesc(CommandSource &source) const override
{
return Anope::Format(Language::Translate(source.GetAccount(), _("Allows you to see %s information about a channel or a bot")), source.service->nick.c_str());
}

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