Skip to content

Instantly share code, notes, and snippets.

@alyx
alyx / balefire.py
Created November 8, 2020 22:41
bitbot, now with balefiring
#--depends-on commands
from src import ModuleManager, utils
class Module(ModuleManager.BaseModule):
@utils.hook("received.message.channel")
def channel_message(self, event):
message_lower = event["message"].lower()
if message_lower.startswith('balefires') == False:
return
1. What is your target market?
2. Why choose this market?
3. What products are currently being used?
4. What makes those products popular within your target market?
5. What do those products/platforms do poorly?
6. How will your product resolve these issues / what will your product do better?
7. What is the **end goal** for your product?
@alyx
alyx / atheme-pam.c
Created June 16, 2019 10:24
Atheme/PAM Authentication Module for Linux-based Systems
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <security/pam_appl.h>
#include <security/pam_modules.h>
#include <xmlrpc-c/base.h>
#include <xmlrpc-c/client.h>
#define NAME "Atheme/PAM Identify Validator"
#define VERSION "1.0"
@alyx
alyx / atheme.diff
Created June 15, 2019 09:32
Update dist/ and etc/ to match user expectations.
diff --git a/dist/atheme.conf.example b/dist/atheme.example.conf
similarity index 100%
rename from dist/atheme.conf.example
rename to dist/atheme.example.conf
@alyx
alyx / partyfile.py
Created May 26, 2019 05:57
shitty vcsparty concept ruleset
# Just .py for syntax highlighting tbh
# %p = project
# %r = repo
# %u = url
# %c = commit id
# %a = author
# %b = branch
# %f = files
# %m = commit message
# --
/*
* Copyright (c) 2014 Alyx Wolcott <alyx -at- malkier.net>
* Rights to this code are as documented in doc/LICENSE.
*
* To use this module, add a lastfm_api value to the gameserv{}
* config block containing your Last.FM API key.
*/
#include "../api/http.h"
#include "../gameserv/gameserv_common.h"
@alyx
alyx / ns_backdate.c
Last active October 22, 2017 16:25
Put this in modules/contrib/ns_backdate.c.
/*
* Copyright 2014 Alyx Wolcott
* Rights to this code are as documented in doc/LICENSE.
*
* Gives services the ability to backdate nicknames
*
*/
#include "atheme.h"
/*
* Copyright 2014 Alyx Wolcott
* Rights to this code are as documented in doc/LICENSE.
*
* Gives services the ability to backdate nicknames
*
*/
#include "atheme.h"
@alyx
alyx / gist:4a73491df0f8a1abffbf
Last active October 22, 2017 16:24
atheme-services account degradation

Account Degradation

  1. Current System

  1. Account reaches an age (e.g. 30d)
  2. Services considers the account expired
  3. Services removes this account. This frees all nicknames associated with the account for re-registration and removes this account, including all metadata, group and channel access from the database.
  4. There is no D. That's all that happens.
#ifndef MODE_H
#define MODE_H
static struct cmode_ mode_list[] = {
{ 'i', CMODE_INVITE },
{ 'm', CMODE_MOD },
{ 'n', CMODE_NOEXT },
{ 'p', CMODE_PRIV },
{ 's', CMODE_SEC },
{ 't', CMODE_TOPIC },
{ 'r', CMODE_REGONLY},