Сервер создан. Как к нему подключиться?
Если на вашем компьютере установлена ОС Linux или MacOS, откройте терминал и выполните команду ssh root@[IP-адрес сервера]. Если вы — пользователь OC Windows, установите и используйте для подключения терминальный клиент PuTTy.
@bot.command()
async def join(ctx, *, voice: discord.VoiceChannel):
# https://discordpy.readthedocs.io/en/stable/ext/commands/commands.html#converters
# https://discordpy.readthedocs.io/en/stable/ext/commands/commands.html#keyword-only-arguments
await voice.connect()
@bot.command()
async def join(ctx):
await bot.get_channel(117454459249562234).connect()
from json import loads
@commands.command()
@commands.is_owner()
async def test(ctx, *, j: loads):
await ctx.send(f"{type(j)}\n{j}")
@commands.command(cooldown_after_parsing=True)
async def cmd(ctx, ...):
"""..."""
...
from pypresence import Presence
p = Presence(APP_ID)
p.connect()
p.update(state="Black\N{BLACK STAR}Rock Shooter", large_image="brs", party_id="generic_party", join="some_random_hash")
# Return:
{'cmd': 'SET_ACTIVITY',
'data': {'state': 'Black★Rock Shooter',
'assets': {'large_image': ASSET_ID},
'party': {'id': 'generic_party'},
'secrets': {'join': 'some_random_hash'},
'name': 'B★RS Project',
'application_id': APP_ID,
'flags': 3,
'type': 0},
'evt': None,
'nonce': CUR_TIME}
@client.command() # Прекратите. Насиловать. Труп.
@commands.has_permsissions(administrator=True)
async def mp(ctx): # self если мы находимся в модуле или подклассе Bot'а
embed = discord.Embed(title="something here")
msg = await ctx.send(embed=embed)
client.react_role_msg = msg # Что лучше - "monkey patch"'ить объект бота или использовать global - решайте сами.
# В идеале - лучше создать модуль (cog/extension) или создать подкласс commands.Bot и использовать его, с объявленной переменной на уровне класса
@client.listen()
async def on_raw_reaction_add(payload):
if not getattr(client, "react_role_msg", None): # react_role_msg еще не объявлен у объекта бота
return
if payload.message_id != client.react_role_msg.id: # реакция проставлена на другом сообщении
return
if payload.emoji != "\N{WHITE HEAVY CHECK MARK}": # Реакция не "✅"
return
if not payload.member: # На тот случай если реакция пройдя все проверки выше окажется в личных сообщениях
return
await payload.member.add_roles(client.get_guild(398353602260405500).get_role(707803004268002512))
@commands.cooldown(1, 600, type=commands.BucketType.member)
if ban_entry := discord.utils.get(await member.guild.bans(), user__id=member.id):
print(member, "banned, reason: ", ban_entry.reason)