Files
ts-mobile-go/docs/teamspeak-sdk-3.5.2/doc/server/channel-create.html
T
2026-07-20 19:01:03 +08:00

295 lines
31 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html>
<html class="writer-html5" lang="en" data-content_root="../">
<head>
<meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Creating a new channel &mdash; TeamSpeak SDK documentation</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=b86133f3" />
<link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=9edc463e" />
<script src="../_static/jquery.js?v=5d32c60e"></script>
<script src="../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
<script src="../_static/documentation_options.js?v=7f41d439"></script>
<script src="../_static/doctools.js?v=9bcbadda"></script>
<script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="../_static/js/theme.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
<link rel="next" title="Advanced channel creation" href="channel-create-adv.html" />
<link rel="prev" title="List channels" href="channel-list.html" />
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
<div class="wy-side-nav-search" >
<a href="../index.html" class="icon icon-home">
TeamSpeak SDK
<img src="../_static/logo.png" class="logo" alt="Logo"/>
</a>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
<p class="caption" role="heading"><span class="caption-text">API</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../errors.html">TeamSpeak Error Codes</a></li>
<li class="toctree-l1"><a class="reference internal" href="../properties.html">Property Enums</a></li>
<li class="toctree-l1"><a class="reference internal" href="../enumerations.html">Structures &amp; Enumerations</a></li>
<li class="toctree-l1"><a class="reference internal" href="../client_api.html">TeamSpeak Client Functions</a></li>
<li class="toctree-l1"><a class="reference internal" href="../server_api.html">TeamSpeak Server Functions</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Server</span></p>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="intro.html">Introduction</a></li>
<li class="toctree-l1"><a class="reference internal" href="basic.html">Getting started</a></li>
<li class="toctree-l1"><a class="reference internal" href="list-items.html">List available clients, channels, servers</a></li>
<li class="toctree-l1"><a class="reference internal" href="vserver-manage.html">Create and stop virtual servers</a></li>
<li class="toctree-l1"><a class="reference internal" href="advanced-create.html">Advanced virtual server creation</a></li>
<li class="toctree-l1"><a class="reference internal" href="info.html">Retrieve and store information</a></li>
<li class="toctree-l1 current"><a class="reference internal" href="channels.html">Managing channels</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="channel-list.html">List channels</a></li>
<li class="toctree-l2 current"><a class="current reference internal" href="#">Creating a new channel</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#actually-create-the-channel">Actually create the channel</a></li>
<li class="toctree-l3"><a class="reference internal" href="#example">Example</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="channel-create-adv.html">Advanced channel creation</a></li>
<li class="toctree-l2"><a class="reference internal" href="channel-move.html">Moving channels</a></li>
<li class="toctree-l2"><a class="reference internal" href="channel-delete.html">Deleting channels</a></li>
<li class="toctree-l2"><a class="reference internal" href="info-channel.html">Channel information</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="clients.html">Managing clients</a></li>
<li class="toctree-l1"><a class="reference internal" href="whisper.html">Whisper lists</a></li>
<li class="toctree-l1"><a class="reference internal" href="encryption.html">Custom encryption</a></li>
<li class="toctree-l1"><a class="reference internal" href="passwords.html">Custom passwords</a></li>
<li class="toctree-l1"><a class="reference internal" href="permissions.html">Permission checks</a></li>
<li class="toctree-l1"><a class="reference internal" href="security-salt.html">Security salts and hashes</a></li>
<li class="toctree-l1"><a class="reference internal" href="disable-commands.html">Disabling protocol commands</a></li>
<li class="toctree-l1"><a class="reference internal" href="filetransfer.html">Filetransfer</a></li>
<li class="toctree-l1"><a class="reference internal" href="faq.html">FAQ</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Client</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../client/intro.html">Introduction</a></li>
<li class="toctree-l1"><a class="reference internal" href="../client/basic.html">Getting started</a></li>
<li class="toctree-l1"><a class="reference internal" href="../client/connections.html">Managing server connections</a></li>
<li class="toctree-l1"><a class="reference internal" href="../client/logging.html">Logging</a></li>
<li class="toctree-l1"><a class="reference internal" href="../client/audio.html">Client Audio</a></li>
<li class="toctree-l1"><a class="reference internal" href="../client/wave-files.html">Playing wave files</a></li>
<li class="toctree-l1"><a class="reference internal" href="../client/3dsound.html">3D Sound</a></li>
<li class="toctree-l1"><a class="reference internal" href="../client/whisper.html">Whisper lists</a></li>
<li class="toctree-l1"><a class="reference internal" href="../client/voice-encryption.html">Channel voice data encryption</a></li>
<li class="toctree-l1"><a class="reference internal" href="../client/info.html">Retrieve and store information</a></li>
<li class="toctree-l1"><a class="reference internal" href="../client/channels.html">Channel Management</a></li>
<li class="toctree-l1"><a class="reference internal" href="../client/client-list.html">List clients</a></li>
<li class="toctree-l1"><a class="reference internal" href="../client/client-kick.html">Kicking clients</a></li>
<li class="toctree-l1"><a class="reference internal" href="../client/local-mute.html">Muting other clients</a></li>
<li class="toctree-l1"><a class="reference internal" href="../client/textmessages.html">Text chat</a></li>
<li class="toctree-l1"><a class="reference internal" href="../client/filetransfer.html">Filetransfer</a></li>
<li class="toctree-l1"><a class="reference internal" href="../client/encryption.html">Custom encryption</a></li>
<li class="toctree-l1"><a class="reference internal" href="../client/passwords.html">Custom passwords</a></li>
<li class="toctree-l1"><a class="reference internal" href="../client/faq.html">FAQ</a></li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="../index.html">TeamSpeak SDK</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="Page navigation">
<ul class="wy-breadcrumbs">
<li><a href="../index.html" class="icon icon-home" aria-label="Home"></a></li>
<li class="breadcrumb-item"><a href="channels.html">Managing channels</a></li>
<li class="breadcrumb-item active">Creating a new channel</li>
<li class="wy-breadcrumbs-aside">
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<section id="creating-a-new-channel">
<h1>Creating a new channel<a class="headerlink" href="#creating-a-new-channel" title="Link to this heading"></a></h1>
<p>Creating a channel is done in a similar fashion as editing a channel.</p>
<p>First you set all the properties of the channel on channel ID 0 which
will indicate that you intend to create a new channel.
Use the appropriate function for the property you are setting:</p>
<dl class="c function">
<dt class="sig sig-object c">
<span class="kt"><span class="pre">unsigned</span></span><span class="w"> </span><span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">ts3server_setChannelVariableAsInt</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">uint64</span></span><span class="w"> </span><span class="n"><span class="pre">serverID</span></span>, <span class="n"><span class="pre">uint64</span></span><span class="w"> </span><span class="n"><span class="pre">channelID</span></span>, <span class="k"><span class="pre">enum</span></span><span class="w"> </span><a class="reference internal" href="../properties.html#c.ChannelProperties" title="ChannelProperties"><span class="n"><span class="pre">ChannelProperties</span></span></a><span class="w"> </span><span class="n"><span class="pre">flag</span></span>, <span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="n"><span class="pre">value</span></span><span class="sig-paren">)</span><br /></dt>
<dd><p>set the variable of a channel to a new value. </p>
<p>Call <a class="reference internal" href="../server_api.html#serverlib_8h_1ac4eb0eaedc70cfef1d3ceccfebcfd971"><span class="std std-ref">ts3server_flushChannelVariable</span></a> after having set all variables you need to change.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>serverID</strong> specifies the server the channel is located on </p></li>
<li><p><strong>channelID</strong> specifies the channel on which to change the variable </p></li>
<li><p><strong>flag</strong> specifies which variable to change. One of the values from the <a class="reference internal" href="../properties.html#public__definitions_8h_1ab1d8599705a3a954dc5dce71774488fc"><span class="std std-ref">ChannelProperties</span></a> enum </p></li>
<li><p><strong>value</strong> the new value to set </p></li>
</ul>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>An Error code from the <a class="reference internal" href="../errors.html#public__errors_8h_1a0bcf1e0a5e32989890f6e85064327f7b"><span class="std std-ref">Ts3ErrorType</span></a> enum indicating either success or the failure reason </p>
</dd>
</dl>
</dd></dl>
<dl class="c function">
<dt class="sig sig-object c">
<span class="kt"><span class="pre">unsigned</span></span><span class="w"> </span><span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">ts3server_setChannelVariableAsUInt64</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">uint64</span></span><span class="w"> </span><span class="n"><span class="pre">serverID</span></span>, <span class="n"><span class="pre">uint64</span></span><span class="w"> </span><span class="n"><span class="pre">channelID</span></span>, <span class="k"><span class="pre">enum</span></span><span class="w"> </span><a class="reference internal" href="../properties.html#c.ChannelProperties" title="ChannelProperties"><span class="n"><span class="pre">ChannelProperties</span></span></a><span class="w"> </span><span class="n"><span class="pre">flag</span></span>, <span class="n"><span class="pre">uint64</span></span><span class="w"> </span><span class="n"><span class="pre">value</span></span><span class="sig-paren">)</span><br /></dt>
<dd><p>set a channel variable </p>
<p>Call <a class="reference internal" href="../server_api.html#serverlib_8h_1ac4eb0eaedc70cfef1d3ceccfebcfd971"><span class="std std-ref">ts3server_flushChannelVariable</span></a> after having set all variables you need to change.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>serverID</strong> the server on which the channel is located </p></li>
<li><p><strong>channelID</strong> the id of the channel to set the variable for </p></li>
<li><p><strong>flag</strong> specifies which variable to set. One of the values from the <a class="reference internal" href="../properties.html#public__definitions_8h_1ab1d8599705a3a954dc5dce71774488fc"><span class="std std-ref">ChannelProperties</span></a> enum </p></li>
<li><p><strong>value</strong> the new value to set </p></li>
</ul>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>An Error code from the <a class="reference internal" href="../errors.html#public__errors_8h_1a0bcf1e0a5e32989890f6e85064327f7b"><span class="std std-ref">Ts3ErrorType</span></a> enum indicating either success or the failure reason </p>
</dd>
</dl>
</dd></dl>
<dl class="c function">
<dt class="sig sig-object c">
<span class="kt"><span class="pre">unsigned</span></span><span class="w"> </span><span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">ts3server_setChannelVariableAsString</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">uint64</span></span><span class="w"> </span><span class="n"><span class="pre">serverID</span></span>, <span class="n"><span class="pre">uint64</span></span><span class="w"> </span><span class="n"><span class="pre">channelID</span></span>, <span class="k"><span class="pre">enum</span></span><span class="w"> </span><a class="reference internal" href="../properties.html#c.ChannelProperties" title="ChannelProperties"><span class="n"><span class="pre">ChannelProperties</span></span></a><span class="w"> </span><span class="n"><span class="pre">flag</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="kt"><span class="pre">char</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">value</span></span><span class="sig-paren">)</span><br /></dt>
<dd><p>Call <a class="reference internal" href="../server_api.html#serverlib_8h_1ac4eb0eaedc70cfef1d3ceccfebcfd971"><span class="std std-ref">ts3server_flushChannelVariable</span></a> after having set all variables you need to change. </p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>serverID</strong> the server on which the channel is located </p></li>
<li><p><strong>channelID</strong> the id of the channel to set the variable for </p></li>
<li><p><strong>flag</strong> specifies which variable to set. One of the values from the <a class="reference internal" href="../properties.html#public__definitions_8h_1ab1d8599705a3a954dc5dce71774488fc"><span class="std std-ref">ChannelProperties</span></a> enum </p></li>
<li><p><strong>value</strong> the new value to set </p></li>
</ul>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>An Error code from the <a class="reference internal" href="../errors.html#public__errors_8h_1a0bcf1e0a5e32989890f6e85064327f7b"><span class="std std-ref">Ts3ErrorType</span></a> enum indicating either success or the failure reason </p>
</dd>
</dl>
</dd></dl>
<section id="actually-create-the-channel">
<h2>Actually create the channel<a class="headerlink" href="#actually-create-the-channel" title="Link to this heading"></a></h2>
<p>To actually create the channel you will then call</p>
<dl class="c function">
<dt class="sig sig-object c">
<span class="kt"><span class="pre">unsigned</span></span><span class="w"> </span><span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">ts3server_flushChannelCreation</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">uint64</span></span><span class="w"> </span><span class="n"><span class="pre">serverID</span></span>, <span class="n"><span class="pre">uint64</span></span><span class="w"> </span><span class="n"><span class="pre">channelParentID</span></span>, <span class="n"><span class="pre">uint64</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">result</span></span><span class="sig-paren">)</span><br /></dt>
<dd><p>After setting the channel properties on a new channel, call this function to publish the channel to clients. </p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>serverID</strong> the server on which to create the channel </p></li>
<li><p><strong>channelParentID</strong> the id of the parent channel for the new channel </p></li>
<li><p><strong>result</strong> address of a variable to receive the channel id of the newly created channel </p></li>
</ul>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>An Error code from the <a class="reference internal" href="../errors.html#public__errors_8h_1a0bcf1e0a5e32989890f6e85064327f7b"><span class="std std-ref">Ts3ErrorType</span></a> enum indicating either success or the failure reason </p>
</dd>
</dl>
</dd></dl>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>Once the channel has been created the <a class="reference internal" href="../server_api.html#c.ServerLibFunctions.onChannelCreated" title="ServerLibFunctions.onChannelCreated"><code class="xref c c-func docutils literal notranslate"><span class="pre">ServerLibFunctions.onChannelCreated()</span></code></a> callback is called.</p>
</div>
</section>
<section id="example">
<h2>Example<a class="headerlink" href="#example" title="Link to this heading"></a></h2>
<p>Example code to create a channel:</p>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="linenos"> 1</span><span class="cp">#define CHECK_ERROR(x) if ((error = x) != ERROR_ok) { goto on_error; }</span>
<span class="linenos"> 2</span>
<span class="linenos"> 3</span><span class="kt">int</span><span class="w"> </span><span class="nf">createChannel</span><span class="p">(</span><span class="n">uint64</span><span class="w"> </span><span class="n">serverID</span><span class="p">,</span><span class="w"> </span><span class="n">uint64</span><span class="w"> </span><span class="n">parentChannelID</span><span class="p">,</span><span class="w"> </span><span class="k">const</span><span class="w"> </span><span class="kt">char</span><span class="o">*</span><span class="w"> </span><span class="n">name</span><span class="p">,</span><span class="w"> </span><span class="k">const</span><span class="w"> </span><span class="kt">char</span><span class="o">*</span><span class="w"> </span><span class="n">topic</span><span class="p">,</span>
<span class="linenos"> 4</span><span class="w"> </span><span class="k">const</span><span class="w"> </span><span class="kt">char</span><span class="o">*</span><span class="w"> </span><span class="n">description</span><span class="p">,</span><span class="w"> </span><span class="k">const</span><span class="w"> </span><span class="kt">char</span><span class="o">*</span><span class="w"> </span><span class="n">password</span><span class="p">,</span><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">codec</span><span class="p">,</span><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">codecQuality</span><span class="p">,</span>
<span class="linenos"> 5</span><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">maxClients</span><span class="p">,</span><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">familyMaxClients</span><span class="p">,</span><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">order</span><span class="p">,</span><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">perm</span><span class="p">,</span><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">semiperm</span><span class="p">,</span>
<span class="linenos"> 6</span><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="k">default</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<span class="linenos"> 7</span><span class="w"> </span><span class="kt">unsigned</span><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">error</span><span class="p">;</span>
<span class="linenos"> 8</span><span class="w"> </span><span class="n">uint64</span><span class="w"> </span><span class="n">newChannelID</span><span class="p">;</span>
<span class="linenos"> 9</span>
<span class="linenos">10</span><span class="w"> </span><span class="cm">/* Set channel data, pass 0 as channel ID */</span>
<span class="linenos">11</span><span class="w"> </span><span class="n">CHECK_ERROR</span><span class="p">(</span><span class="n">ts3server_setChannelVariableAsString</span><span class="p">(</span><span class="n">serverID</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="n">CHANNEL_NAME</span><span class="p">,</span><span class="w"> </span><span class="n">name</span><span class="p">));</span>
<span class="linenos">12</span><span class="w"> </span><span class="n">CHECK_ERROR</span><span class="p">(</span><span class="n">ts3server_setChannelVariableAsString</span><span class="p">(</span><span class="n">serverID</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="n">CHANNEL_TOPIC</span><span class="p">,</span><span class="w"> </span><span class="n">topic</span><span class="p">));</span>
<span class="linenos">13</span><span class="w"> </span><span class="n">CHECK_ERROR</span><span class="p">(</span><span class="n">ts3server_setChannelVariableAsString</span><span class="p">(</span><span class="n">serverID</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="n">CHANNEL_DESCRIPTION</span><span class="p">,</span><span class="w"> </span><span class="n">description</span><span class="p">));</span>
<span class="linenos">14</span><span class="w"> </span><span class="n">CHECK_ERROR</span><span class="p">(</span><span class="n">ts3server_setChannelVariableAsString</span><span class="p">(</span><span class="n">serverID</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="n">CHANNEL_PASSWORD</span><span class="p">,</span><span class="w"> </span><span class="n">password</span><span class="p">));</span>
<span class="linenos">15</span><span class="w"> </span><span class="n">CHECK_ERROR</span><span class="p">(</span><span class="n">ts3server_setChannelVariableAsInt</span><span class="w"> </span><span class="p">(</span><span class="n">serverID</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="n">CHANNEL_CODEC</span><span class="p">,</span><span class="w"> </span><span class="n">codec</span><span class="p">));</span>
<span class="linenos">16</span><span class="w"> </span><span class="n">CHECK_ERROR</span><span class="p">(</span><span class="n">ts3server_setChannelVariableAsInt</span><span class="w"> </span><span class="p">(</span><span class="n">serverID</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="n">CHANNEL_CODEC_QUALITY</span><span class="p">,</span><span class="w"> </span><span class="n">codecQuality</span><span class="p">));</span>
<span class="linenos">17</span><span class="w"> </span><span class="n">CHECK_ERROR</span><span class="p">(</span><span class="n">ts3server_setChannelVariableAsInt</span><span class="w"> </span><span class="p">(</span><span class="n">serverID</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="n">CHANNEL_MAXCLIENTS</span><span class="p">,</span><span class="w"> </span><span class="n">maxClients</span><span class="p">));</span>
<span class="linenos">18</span><span class="w"> </span><span class="n">CHECK_ERROR</span><span class="p">(</span><span class="n">ts3server_setChannelVariableAsInt</span><span class="w"> </span><span class="p">(</span><span class="n">serverID</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="n">CHANNEL_MAXFAMILYCLIENTS</span><span class="p">,</span><span class="w"> </span><span class="n">familyMaxClients</span><span class="p">));</span>
<span class="linenos">19</span><span class="w"> </span><span class="n">CHECK_ERROR</span><span class="p">(</span><span class="n">ts3server_setChannelVariableAsInt</span><span class="w"> </span><span class="p">(</span><span class="n">serverID</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="n">CHANNEL_ORDER</span><span class="p">,</span><span class="w"> </span><span class="n">order</span><span class="p">));</span>
<span class="linenos">20</span><span class="w"> </span><span class="n">CHECK_ERROR</span><span class="p">(</span><span class="n">ts3server_setChannelVariableAsInt</span><span class="w"> </span><span class="p">(</span><span class="n">serverID</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="n">CHANNEL_FLAG_PERMANENT</span><span class="p">,</span><span class="w"> </span><span class="n">perm</span><span class="p">));</span>
<span class="linenos">21</span><span class="w"> </span><span class="n">CHECK_ERROR</span><span class="p">(</span><span class="n">ts3server_setChannelVariableAsInt</span><span class="w"> </span><span class="p">(</span><span class="n">serverID</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="n">CHANNEL_FLAG_SEMI_PERMANENT</span><span class="p">,</span><span class="w"> </span><span class="n">semiperm</span><span class="p">));</span>
<span class="linenos">22</span><span class="w"> </span><span class="n">CHECK_ERROR</span><span class="p">(</span><span class="n">ts3server_setChannelVariableAsInt</span><span class="w"> </span><span class="p">(</span><span class="n">serverID</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="n">CHANNEL_FLAG_DEFAULT</span><span class="p">,</span><span class="w"> </span><span class="k">default</span><span class="p">));</span>
<span class="linenos">23</span>
<span class="linenos">24</span><span class="w"> </span><span class="cm">/* Flush changes to server */</span>
<span class="linenos">25</span><span class="w"> </span><span class="n">CHECK_ERROR</span><span class="p">(</span><span class="n">ts3server_flushChannelCreation</span><span class="p">(</span><span class="n">serverID</span><span class="p">,</span><span class="w"> </span><span class="n">parentChannelID</span><span class="p">,</span><span class="w"> </span><span class="o">&amp;</span><span class="n">newChannelID</span><span class="p">));</span>
<span class="linenos">26</span>
<span class="linenos">27</span><span class="w"> </span><span class="n">printf</span><span class="p">(</span><span class="s">&quot;Created new channel with ID: %u</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span><span class="w"> </span><span class="n">newChannelID</span><span class="p">);</span>
<span class="linenos">28</span><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span><span class="w"> </span><span class="cm">/* Success */</span>
<span class="linenos">29</span>
<span class="linenos">30</span><span class="nl">on_error</span><span class="p">:</span>
<span class="linenos">31</span><span class="w"> </span><span class="n">printf</span><span class="p">(</span><span class="s">&quot;Error creating channel: %d</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span><span class="w"> </span><span class="n">error</span><span class="p">);</span>
<span class="linenos">32</span><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="mi">1</span><span class="p">;</span><span class="w"> </span><span class="cm">/* Failure */</span>
<span class="linenos">33</span><span class="p">}</span>
</pre></div>
</div>
</section>
</section>
</div>
</div>
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
<a href="channel-list.html" class="btn btn-neutral float-left" title="List channels" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
<a href="channel-create-adv.html" class="btn btn-neutral float-right" title="Advanced channel creation" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
</div>
<hr/>
<div role="contentinfo">
<p>&#169; Copyright 2020, TeamSpeak Systems GmbH.</p>
</div>
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
provided by <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
</section>
</div>
<script>
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
</body>
</html>